C# 从嵌套的Json对象读取值
我试图从嵌套的Json对象读取一个值,但遇到一个解析错误: 我的Json对象:C# 从嵌套的Json对象读取值,c#,json,parsing,C#,Json,Parsing,我试图从嵌套的Json对象读取一个值,但遇到一个解析错误: 我的Json对象: { "MessageId": "f6774927-37cf-4608-b985-14a7d86a38f9", "Time": "2017-04-06T16:28:38.0719933+02:00", "Data": { "ID":
{
"MessageId": "f6774927-37cf-4608-b985-14a7d86a38f9",
"Time": "2017-04-06T16:28:38.0719933+02:00",
"Data":
{
"ID":
{
"value": "0008044834"
},
"Carrier":
{
"value": 0
},
"Tool":
{
"value": 0
}
}
}
读取诸如“MessageID”等其他值不会有任何问题,但只要我尝试获取“Data.XYZ”,我就会得到上面的错误。您需要将
值添加到json路径:
var serial = myJObject.SelectToken("Data.ID.value").Value<String>();
var serial=myJObject.SelectToken(“Data.ID.value”).value();
当前路径选择包含一个名为value
的属性的JObject
,您不能将其直接转换为字符串。MessageId是一个字符串。因此,您可以直接读取其值。
另一方面,数据包含对象(请参见{和})。因此,您需要使用
var serial = myJObject.SelectToken("Data.ID.value").Value<String>();
var serial=myJObject.SelectToken(“Data.ID.value”).value();
另见:
var serial = myJObject.SelectToken("Data.ID.value").Value<String>();
var serial = myJObject.SelectToken("Data.ID.value").Value<String>();