@maksam07

Как решить ошибку Cannot access child value on Newtonsoft.Json.Linq.JValue?

Доброго дня!
Есть JSON данные, вывожу их так:
foreach( var data in JSON ) {
if ( data != null ) {
var count = data["count"];
//дальше код
}
}

Часть данных проходит нормально, а на меньшую часть программа жалуется на строку
var count = data["count"];
с ошибкой:
Cannot access child value on Newtonsoft.Json.Linq.JValue

Если сделать проверку:
if ( data["count"] != null ) { /* дальше код */ }
То все равно будет ошибка, но указана уже на условие

Как решается такая проблема? Уже много всего перелазил, но так ничего не помогло.
  • Вопрос задан
  • 1762 просмотра
Пригласить эксперта
Ответы на вопрос 1
impwx
@impwx
Разработчик
Если покажете ваш JSON, будет понятнее.

Судя по JValue, у вас в одном из случаев data становится не объектом со вложенными свойствами, а примитивным типом (например, числом или строкой).

Возможно, это ошибка формирования данных, которые вы обрабатываете. Если же вы получаете данные извне и такая ситуация допустима, то вместо data["count"] != null поставьте проверку на data is JObject.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы