Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从嵌套的Json对象读取值_C#_Json_Parsing - Fatal编程技术网

C# 从嵌套的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":

我试图从嵌套的Json对象读取一个值,但遇到一个解析错误:

我的Json对象:

{
    "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>();