C# 获得儿童的价值
我的简单json数据如下C# 获得儿童的价值,c#,json.net,C#,Json.net,我的简单json数据如下 string _JsonData = @" { "tm":{ "1":{ "pl":{ "11":{ "foo":"2" }, "902":{ "foo":"70" } }
string _JsonData = @" {
"tm":{
"1":{
"pl":{
"11":{
"foo":"2"
},
"902":{
"foo":"70"
}
}
}
}";
我可以得到pl儿童foo值的值(例如2和70),如下代码所示
JObject _JObject = JObject.Parse(_JsonData);
foreach (JToken _JTokenCurrent in _JObject["tm"]["1"]["pl"].Children())
{
MessageBox.Show(_JTokenCurrent["foo"].ToString());
}
那么,如何获取pl儿童属性值的值(例如11和902)
提前谢谢。未测试
JObject _JObject = JObject.Parse(_JsonData);
foreach (JToken _JTokenCurrent in _JObject["tm"]["1"]["pl"].Children())
{
// Should be your 11 and 902
MessageBox.Show(_JTokenCurrent.Children().ToString());
// Should be your 2 nad 70
MessageBox.Show(_JTokenCurrent["foo"].ToString());
}
好的,我已经解决了如下问题
JObject _JObject = JObject.Parse(_JsonData);
foreach (JToken _JTokenCurrent in _JObject["tm"]["1"]["pl"].Children())
{
// get values such as 11 and 902
JProperty _JTokenCurrentName = (JProperty)_JTokenCurrent;
MessageBox.Show(_JTokenCurrentName.Name);
/// get values such as 2 and 70
MessageBox.Show(_JTokenCurrent["foo"].ToString());
}
为什么不调用
\u JTokenCurrent.Children()
?json
似乎缺少一个括号。你已经发布了两次同样的问题。如果这不是一个编程问题,你标题的答案将是无价的:)@Hassansar是的,我以前问过,但删除了。这是我的错。@Pankaj对不起,我的英语不太好。\ujboxscorevalue
是什么?@hassansar好的,我修好了:)谢谢。