#c# #json.net
#c# #json.net
Вопрос:
Мои простые данные json, как показано ниже
string _JsonData = @" {
"tm":{
"1":{
"pl":{
"11":{
"foo":"2"
},
"902":{
"foo":"70"
}
}
}
}";
Я могу получить значение значений foo для pl дочерних элементов (например, 2 и 70), как показано ниже. код
JObject _JObject = JObject.Parse(_JsonData);
foreach (JToken _JTokenCurrent in _JObject["tm"]["1"]["pl"].Children())
{
MessageBox.Show(_JTokenCurrent["foo"].ToString());
}
Итак, как я могу получить значение значений свойств pl дочерних элементов (например, 11 и 902)?
Заранее благодарю вас.
Комментарии:
1. Почему бы не позвонить
_JTokenCurrent.Children()
?2.
json
похоже, отсутствует одна скобка. И вы дважды задавали один и тот же вопрос.3. Если бы это не был вопрос программирования, ответ на ваш заголовок был бы бесценным 🙂
4. @HassanNisar да, я спрашивал раньше, но удалил это. Это была моя вина.
5. @Pankaj извините, мой английский не очень хорош.
Ответ №1:
Хорошо, я решил, как показано ниже;
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());
}
Комментарии:
1. что такое
_JBoxScoreValue
?2. @HassanNisar ХОРОШО, я это исправил 🙂 Спасибо.
Ответ №2:
Не тестировалось!
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());
}