У меня проблема, когда мой файл json выглядит так
{"Числа": "45387", "Слова": "пробелы"}
Я могу прочитать это очень хорошо, однако, если это выглядит так:
{"Main": {"Numbers": "45387", "Words": "пробелы"},
"Something": {"Numbers": "12345", "Words": "Kransky"}}
Я не получаю никакой информации. Я понятия не имею, как переключаться между Main и Something!
Загрузка JSON с этой «вложенной» информацией, используя этот код,
var ser = new DataContractJsonSerializer(typeof(myInfo));
var info = (myInfo)ser.ReadObject(e.Result);
// Класс, используемый для хранения моей информации
[DataContract]
public class myInfo
{
[DataMember(Name="Numbers")]
public int number
{ get; set; }
[DataMember(Name="Words")]
public string words
{ get; set; }
}
Заставляет класс возвращаться пустым.
Я попытался добавить имя группы в DataContract, например. [DataContract, Name = "Main"], но это по-прежнему приводит к тому, что значения классов становятся пустыми.
Я также попытался добавить "основной" к загрузчику сериализатора, например. var ser = new DataContractJsonSerializer (typeof (myInfo), "Main");
Это вызывает ошибку: ожидание элемента 'Main' из пространства имен '' .. Обнаружен элемент 'с именем' root ', пространство имен' '.
Я бы предпочел просто использовать прилагаемый JSON Reader. Я изучил json.NET, но обнаружил, что документация требует написания json и мало информации о чтении.
Конечно, я упускаю что-то простое здесь!