我正在使用 Json.net,我从网页中检索了以下JSON:
"{"Response":
[{
"iconPath":"",
"membershipType":1,
"membershipId":"124877458474",
"displayName":"DarylJG"
}],
"ErrorCode":1,
"ThrottleSeconds":0,
"ErrorStatus":"Success",
"Message":"Ok",
"MessageData":{ }}"
现在,尝试从此属性返回字符串时出现以下错误:
类型的未处理异常 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' 发生在 系统核心.dll
附加信息:"Newtonsoft.Json.Linq.JArray"不包含 "图标路径"的定义
图标路径确实存在于此 JSON 文件中。我正在使用的代码:
var response = client.GetAsync("CorrectServerPath & Auth").Result;
var content = response.Content.ReadAsStringAsync().Result;
dynamic item = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
return item.Response.iconPath;
这是引发此错误的代码行,但以下代码:
return item.Message;
将返回确定
所以我的总体问题是,如何使用 JSON.net 在提供的 json 文件中访问 iconPath?因为,我不知所措。研究材料一无所获,可能使用了不正确的搜索词
您的Response
成员是一个数组,而不是一个对象。请改用item.Response[0].iconPath
。