C# 如何访问json.net中的子值
我试图解析json以访问子值。下面是示例jsonC# 如何访问json.net中的子值,c#,json.net,C#,Json.net,我试图解析json以访问子值。下面是示例json jsondata = { "sample_data": "{"o2:{"testname":"o2","department":"chemistry","normalvalue":"l","testmethod":"j","specimen":"g","referelprice":"y","normalprice":"i","discountprice":"o"}}" } 下面是我的代码 var _json = JObject.Parse(
jsondata = {
"sample_data": "{"o2:{"testname":"o2","department":"chemistry","normalvalue":"l","testmethod":"j","specimen":"g","referelprice":"y","normalprice":"i","discountprice":"o"}}"
}
下面是我的代码
var _json = JObject.Parse(jsondata.ToString());
Console.WriteLine(_json["sample_data"]);
这段代码给出了输出
{"o2":{"testname":"o2","department":"chemistry","normalvalue":"l","testmethod":"j","specimen":"g","referelprice":"y","normalprice":"i","discountprice":"o"}}
现在,如果我试图通过使用
WriteLine(_json[“sample_data”][“o2”])
我收到下面的错误消息
cannot access child value on newtonsoft.json.linq.jvalue
请帮助我了解如何获取子值。我想要像这样的输出
{"testname":"o2","department":"chemistry","normalvalue":"l","testmethod":"j","specimen":"g","referelprice":"y","normalprice":"i","discountprice":"o"}
我怎样才能做到这一点。请帮助。您可以使用dynamic
dynamic a = JsonConvert.DeserializeObject(yourJson);
Console.WriteLine(a.sample_data.o2.ToString());
正如在示例中一样,存储在示例数据上的值是字符串 试试这个
var _json = JObject.Parse(jsondata.ToString());
var sampledataJson = JObject.Parse(_json["sample_data"].ToString());
Console.WriteLine(sampledataJson["o2"]);
var_json=JObject.Parse(jsondata.ToString());WriteLine(_json[sample_data]);那Console.WriteLine(_json[sample\u data][“o2]”)呢代码>?这有帮助吗:我刚才在代码中添加了我以前错过的“”。请检查一下代码并让我知道。谢谢你advance@ZivS我还是不工作。请建议不同的代码。这是Newtonsoft json的一部分吗?@Reddy JsonConvert是Newtonsoft json的一部分,dynamic是C#语言的一部分。只需在答案中添加该细节。。只是库的链接或名称,因为OP没有提到使用Newtonsoft库。这里的人们开始抱怨它。:)@Reddy JObject是Newtonsoft库的一部分,所以我不需要添加任何内容。他已经在使用它了。它不应该是Console.WriteLine(a.sample\u data.o2)吗?