Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
36 / 25 / 12
Регистрация: 08.04.2013
Сообщений: 269
.NET 4.x

JSON-ответ. Объекты и массивы объектов

29.08.2016, 18:59. Показов 1071. Ответов 7
Метки json (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Есть определенный сайт, который отвечает на POST-запрос. Через Mozilla в среде разработчика вижу ответы в двух видах:

JSON
1
2
success: true
result: "string"
его разбирать как объект или как?

Второй:
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
success:true
data: Object
PARAM_1:"string"
...
PARAM_N:"string"
 
LIST: OBJECT
ID:"string"
NAME:"string"
POST: null //значение постоянное, не знаю что за тип
 
LIST_2: Array
0:
ID: "string"
VAL: int
VAL_NEXT: int+1
1:
2:
3:
n:
ID: "string"
VAL: int
VAL_NEXT: int+1
Т.е. если я data в инструментах разработчика Mozzila сворачиваю, то сворачивается все и остается только success:true & свернутая data
Как правильно описать второй объект?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2016, 18:59
Ответы с готовыми решениями:

Как правильно спарсить JSON ответ?
Всем привет! Помогите, пожалуйста, с обработкой JSON ответа. Я привёл часть файла, на самом деле, в data порядка 100+ объектов. { ...

Как правильно десериализовать ответ в Json
Как правильно десериализовать ответ в Json (С вложенными классами) используя библиотеку Newtonsoft.Json? { "success":...

Как распарсить массив объектов Json?
Что-то ничего не получается. У меня возвращается ответ такого формата: { "data": , "meta": { ...

7
186 / 184 / 97
Регистрация: 30.04.2016
Сообщений: 478
30.08.2016, 11:09
Цитата Сообщение от lemeserg Посмотреть сообщение
его разбирать как объект или как?
Ну это зависит от того, что Вы хотите дальше делать с этими данными?

Добавлено через 5 минут
Используя библиотеку JSON.NET из любого корректного JSON можно получить объект типа dynamic не описывая структуру данных в классе. В некоторых случаях это очень удобно и позволяет сохранить много времени, если, например, Вам нужно использовать только пару свойств из JSON, а остальные Вам ни к чему.

Пример использования библиотеки с dynamic объектом:
C#
1
2
3
4
5
dynamic d = JObject.Parse("{number:1000, str:'string', array: [1,2,3,4,5,6]}");
 
Console.WriteLine(d.number);
Console.WriteLine(d.str);
Console.WriteLine(d.array.Count);
Исходник: http://stackoverflow.com/a/8972079
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
30.08.2016, 19:38
Цитата Сообщение от lemeserg Посмотреть сообщение
его разбирать как объект или как?
никак, это невалидный JSON
0
36 / 25 / 12
Регистрация: 08.04.2013
Сообщений: 269
31.08.2016, 07:24  [ТС]
golubyatnikovtv, я использую NewtonJSON. Значит буду расписывать.

Psilon, а если мне тот string нужен, как его корректно взять?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
31.08.2016, 12:44
lemeserg, ну если можете получить валидную разметку, получаете её и парсите json.netом. Если не можете, то пишите свой парсер. Потому что это какой-то внутренний формат, а не какой-нибудь общеизвестный типа JSON/XML/YML/CSV/..., соответственно и общеизвестного парсера для него не написано.
1
36 / 25 / 12
Регистрация: 08.04.2013
Сообщений: 269
31.08.2016, 19:55  [ТС]
success в данном случае оказался строкой и, соответственно, частью JSON-ответа.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
31.08.2016, 20:00
lemeserg, да это не важно, смотрите берем ваш "типа JSON" и вставляем в любую программу форматирования JSON, мне вот например этот сайт нравится.
Что мы на вашем примере получаем? А вот что, фигню:


Вывод: не называйте это JSON"ом, ну и работать с этим как с JSON нельзя, потому что это не JSON
1
36 / 25 / 12
Регистрация: 08.04.2013
Сообщений: 269
01.09.2016, 08:01  [ТС]
Psilon, я это понимаю, именно поэтому вопрос и был задан ДО того, как писать код-обработчик. По факту же оказалось:

C#
1
2
3
4
5
        public class REG_Protocol
        {
            public string success { get; set; }
            public string result { get; set; }
        }
Не виноватая я ©
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.09.2016, 08:01
Помогаю со студенческими работами здесь

Не могу получить JSON ответ от сайта
Делаю запрос по адресу: http://translate.google.ru/translate_a/t?client=x&text=Hello&hl=en&sl=en&tl=ru word =...

Нужно разбить json ответ, как это сделать? (Подробнее описал в теме)
http://api.steampowered.com/ISteamUser/GetPlayerBans/v1/?key=STEAMAPIKEY&steamids=76561198291667524 В итоге получаю -...

Распарсить с помощью Json.Net приходящий ответ в виде JSON
Нужна помощь с json {"success":true, "rgInventory":{ "1025429056":{ "id":"1025429056", "classid":"310779217",...

Конвертировать json ответ в массив
Имеется строка с подобным содержанием Как ее самым быстрым способом конвертировать в двумерный массив?

Распарсить JSON ответ от вконтакте
Значит делаю запрос к контакту https://api.vk.com/method/likes.isLiked?owner_id=&item_id=&type=photo&access_token= потом я делаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru