Парсинг Json при помощи Newtonsoft

575
28 февраля 2017, 14:42

как описать структуру классов для парсинга такой json-строки, приходящей от серверов вконтакте, используя Json.Net ?

 {"ts":1820350874,"updates":[­[4,1619489,561,123456,1464958914," ... ","hello", {"attach1_type":"photo","attach1":"123456_414233177", "attach2_type":"audio","attach2":"123456_456239018"}]]}

Пытался сделать через специальную вставку в Visual Studio - ругается на то, что некорректный Json. Конвертировать всё в object'ы, и уже потом преобразовывать ? В прошлый раз решил тем, что массив updates описал как

     List<List<object>>, 

а когда нужно было достать значение - преобразовывал к конкретному типу.

Answer 1

в Json Вам надо дать наименования всем полям, например вот так:

{
        "ts": "1820350874",
        "updates": {
            "number": 4,
            "number2": 1619489,
            "number3" : 561,
            "number4" : 123456,
            "number5": 1464958914,
            "dot": " ... ",
            "hello":"hello",
            "obj": {
                "attach1_type": "photo",
                "attach1": "123456_414233177",
                "attach2_type": "audio",
                "attach2": "123456_456239018"
            }
        }
}

UPDATE

Для десериализации Json с неизвестными полями, попробуй использовать вот это:

var serializer = new JavaScriptSerializer();
var result = serializer.DeserializeObject(json);

думаю, должно решить проблемы.

READ ALSO
История изменений

История изменений

Есть коллекция, в которую пользователь может добавлять объекты и удалять их

361
Свой класс для работы с DataTable

Свой класс для работы с DataTable

Всем приветПоявилась необходимость работать с данными, которые нужно будет сохранять на жёсткий диск

356
Регистрация на сайте с помощью ASP.NET MVC C#

Регистрация на сайте с помощью ASP.NET MVC C#

Делаю регистрацию на сайте в учебных целяхХочу запретить создавать пользователей с одинаковым логином

429
Вывод таблицы результатов мини-игры в текстовый файл

Вывод таблицы результатов мини-игры в текстовый файл

Здравствуйте! Такая проблемаХочу вывести таблицу результатов примитивного вида: Ниже мой недописанный код

382