在c#中获取API返回JSON负载

本文关键字:返回 JSON 负载 API 获取 | 更新日期: 2023-09-27 18:16:19

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

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']总是得到null,因为双括号

在c#中获取API返回JSON负载

您的字符串的有效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);