Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
45 / 25 / 16
Регистрация: 14.04.2011
Сообщений: 623
1

Не могу осилить Json "DBXJSON'

18.05.2014, 17:44. Просмотров 1173. Ответов 1
Метки нет (Все метки)

Получаю Json строку:
Код
{"error":{"error_code":10,"error_msg":"Internal server error: could not get application","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"users.get"},{"key":"access_token","value":"Edit1"},{"key":"fields","value":"photo_100"},{"key":"lang","value":"ru"}]}}
Надо вытащить отсюда "error_code" и "error_msg"
Делаю так:
C++
1
2
3
4
5
6
7
8
9
10
TJSONObject *jObj = static_cast<TJSONObject*>(TJSONObject::ParseJSONValue(responce));
 
TJSONArray *jArr = static_cast<TJSONArray*>(jObj->Get("error")->JsonValue);
TJSONObject *jObj = static_cast<TJSONObject*>(TJSONObject::ParseJSONValue(jArr->ToString()));
 
TJSONArray *jArr2 = static_cast<TJSONArray*>(jObj->Get("error_code")->JsonValue);
Memo1->Lines->Add(jArr2->ToString()); // 10
 
TJSONArray *jArr3 = static_cast<TJSONArray*>(jObj->Get("error_msg")->JsonValue);
Memo1->Lines->Add(jArr3->ToString()); // "Internal server error: could not get application"
Вопрос: почему последнее я получил вместе с кавычками?
Это так и должно быть или я неправильно написал ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2014, 17:44
Ответы с готовыми решениями:

Подключение DBXJSON и json
Есть проблема с json-ом на билдере. На #include &lt;DBXJSON.hpp&gt; выдает недружелюбное ...

Не могу осилить условия!
Добрый вечер! Подскажите, почему не работает должным образом условие: Ставил всяко, итог один...

Не могу осилить STP16CP05
всем привет, прошу помощи разобраться с STP16CP05... Предыстория такова: банальная подсветка...

Что-то я хук не могу осилить...
Раньше ни когда не пробовал работать с хуками (и с DLL тоже), но тут возникла необходимость...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30660 / 20009 / 7827
Регистрация: 22.10.2011
Сообщений: 34,838
Записей в блоге: 6
18.05.2014, 20:06 2
Лишнюю работу делаешь, вот этого достаточно:
C++
1
2
3
4
     TJSONObject *jObj = static_cast<TJSONObject*>(TJSONObject::ParseJSONValue(s));
     TJSONObject *jItem = static_cast<TJSONObject*>(jObj->Get("error")->JsonValue);
     String code = jItem->Get("error_code")->JsonValue->Value();
     String msg = jItem->Get("error_msg")->JsonValue->Value();
, ибо содержимое "error" массивом не является, оно не в квадратных скобках, а в фигурных, это вложенный объект...
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2014, 20:06

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

Логическая задача.Не могу осилить
Дана задача: По подозрению в совершенном преступлении задержали Брауна,Джона и Смита.Один из них...

не могу осилить два примера...
Помогите дорешать контрольную, осталось два задания: 1) Имеется массив А из N произвольных чисел...

Не могу осилить метод Ньютона
Доброго времени суток, помогите пожалуйста, справиться с уравнением, которое нужно реализовать...

Не могу осилить эти задачи
Здравствуйте уважаемые ребята. Срочно требуется помощь в решении ниже указанных задач. Почему я...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.