Кубик: "Обработка JSON/XML" на C#

bigloafer

Client
Регистрация
23.07.2020
Сообщения
243
Благодарностей
76
Баллы
28
Собственно вопрос, как на C# выглядит кубик "Обработка JSON/XML" с использование xPath?

И почему не все кубики можно конвертировать, через контекстное меню?
 

Вложения

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
401
Баллы
63
Json штука динамическая, поэтому в разных случаях (разные методы, разные сервисы, разные данные из json-ответа) парсинг на C# будет выглядеть по разному.

Вот пример JSON-ответа VK:

JSON:
{
"response": {
"count": 42,
"items": [{
"id": 247648259,
"album_id": -7,
"owner_id": -1,
"user_id": 100,
"sizes": [{
"type": "s",
"url": "https://sun9-20.u...1621/s_f15991c2.jpg",
"width": 0,
"height": 0
}, {
"type": "m",
"url": "https://sun9-20.u...1621/m_4228adaf.jpg",
"width": 0,
"height": 0
}, {
"type": "x",
"url": "https://sun9-20.u...1621/x_46426f27.jpg",
"width": 0,
"height": 0
}],
"text": "",
"date": 1302516221
}, {
"id": 248743686,
"album_id": -7,
"owner_id": -1,
"user_id": 100,
"sizes": [{
"type": "s",
"url": "https://sun9-8.us...2/-5/s_80529ba4.jpg",
"width": 0,
"height": 0
}, {
"type": "m",
"url": "https://sun9-8.us...2/-5/m_5fe2d21f.jpg",
"width": 0,
"height": 0
}, {
"type": "x",
"url": "https://sun9-8.us...2/-5/x_06bffe46.jpg",
"width": 0,
"height": 0
}],
"text": "",
"date": 1302712950
}]
}
}
А так выглядит код для получения этого json:

C#:
//получаем json в ответе (пример для API VK)
var resp = ZennoPoster.HttpGet("https://api.vk.com/method/photos.get?owner_id=ID&album_id=ID&access_token=TOKEN&v=5.69");
//где ID и TOKEN это значения для получения нужных данных

//Распаршиваем JSON из ответа
project.Json.FromString(resp);

//Далее, получаем значение id фото, например, для 1 ответа
string plink = project.Json.response.items[1].id;
//Для другого метода VK вернет другой JSON, и придется писать другой путь до нужного значения

//Если нужно получить все значения, организуем цикл
Если нужно просто распарсить в C#, то после выполнения project.Json.FromString(resp), json будет доступен из кубика.

А вот пример JSON-ответа сервиса sms-activate:

JSON:
{{'phone':phone,'activation':activation,'service':service},{'phone':phone,'activation':activation,'service':service}}
Как видите, здесь уже нет ни элемента response, ни элементов items и id. Зато есть совершенно другие элементы - phone, activation и тд.
 
  • Спасибо
Реакции: bigloafer и Platon

bigloafer

Client
Регистрация
23.07.2020
Сообщения
243
Благодарностей
76
Баллы
28
А как применить xPath средствами C#?
 

Вложения

bigloafer

Client
Регистрация
23.07.2020
Сообщения
243
Благодарностей
76
Баллы
28
Ни кто не знает ответ на вопрос?
 

smartwisard

Client
Регистрация
17.01.2017
Сообщения
824
Благодарностей
82
Баллы
28
Понравился урок JSON для начинающих.
 
Последнее редактирование:
  • Спасибо
Реакции: sydoow и bigloafer

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)