在C#中获取API返回JSON有效负载

时间:2016-11-04 02:36:42

标签: c# json api httprequest

我创建了一个Web API,它需要使用json内容读取标头中的响应,因此我使用下面的代码:

HttpRequestMessage re = Request;
var payLoadJson = re.Content;
string jsonContent = payLoadJson.ReadAsStringAsync().Result;
var test = JObject.Parse(jsonContent);

以下是var test

的回复
{{
  "pushToken": "AAABBBCCC"
}}

任何机构都可以告诉我如何获得pushToken的价值吗?

JObject.Parse(jsonContent)['pushToken']因为双括号而总是变空。

1 个答案:

答案 0 :(得分:1)

您的字符串采用有效的Json格式:

{
    "pushToken": "AAABBBCCC"
}

获取有效负载

var pushToken = JObject.Parse(json)["pushToken"];

(另请注意,按照你的例子,pushtoken在双引号之间而不是单引号之间,你应该在单引号时出错一次)

dynamic obj = JsonConvert.DeserializeObject(json);

var pushToken = obj.pushToken;

作为旁注:

如果你收到像你所描述的那样糟糕的无效Json ...... 我实际上根本不知道那是怎样的。然后在解析或反序列化之前删除两个大括号

json = json.Trim();
json = json.Substring(1, json.Length - 2);