Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2017, 00:21   #1
flug
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 48
По умолчанию JSON получить данные

Приветствую всех!
Помогите пожалуйста получить данные из JSON.
Я не понимаю, как вытащить данные из zeta. У меня уже голова пухнет.
Код:
{
	"columns": [{
		"id": 2837,
		"words": "some text",
		"zeta": [38]
	}, {
		"id": 6658,
		"words": "yet some text",
		"zeta": [555]
	}]
}
Парсинг я делаю так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var 
    JS: TJSONObject;
    JsonArray, JA: TJSONArray;
    i: integer;
begin

        JS := TJSONObject.ParseJSONValue(pls.Text) as TJSONObject;
        if Assigned(JS) then
          begin
           JsonArray:=JS.GetValue('columns') as TJSONArray;

           for I := 0 to JsonArray.Count - 1 do
            begin
	     memo1.lines.add((JsonArray.Items[i] as TJSONObject).GetValue<TJSONNumber>('id').AsInt.ToString);
             memo1.lines.add((JsonArray.Items[i] as TJSONObject).GetValue<TJSONString>('words').Value);
	     //memo1.lines.add((JsonArray.Items[i] as TJSONObject).GetValue<TJSONString>('zeta').Value);
            end;
          end;	

end;
Всё прекрасно работает, но вот как заполучить zeta не понимаю.
Помогите пожалуйста распарсить.

Последний раз редактировалось flug; 05.02.2017 в 00:23.
flug вне форума Ответить с цитированием
Старый 05.02.2017, 00:37   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Это массив, раз в [ ].
Как columns.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.02.2017, 00:42   #3
flug
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 48
По умолчанию

Alex11223
В том-то и дело, что я не понимаю как его получить в моём цикле. Помогите, плиз.
flug вне форума Ответить с цитированием
Старый 05.02.2017, 00:51   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так же как и columns.
Ну только внутри сразу значение, а не объект.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.02.2017, 01:53   #5
flug
Пользователь
 
Регистрация: 23.07.2009
Сообщений: 48
По умолчанию

Всё, разобрался
надо так
Код:
JA := JsonArray.Items[i].GetValue<TJSONArray>('zeta');
memo1.lines.add(JA.Items[0].Value);
Просто только начал изучать работу с JSON и опух от кучи возможностей
flug вне форума Ответить с цитированием
Старый 05.02.2017, 02:02   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да что там изучать, вся грамматика на визитку помещается.

Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить Json нужного вида? Zeek C# (си шарп) 8 13.04.2016 08:01
Не могу получить json Parallelogram JavaScript, Ajax 8 16.03.2016 13:49
JSON Exception [org.apache.json] spectrum988 Помощь студентам 3 11.12.2015 09:25
Как получить json с другого сайта JGalt PHP 5 11.07.2015 12:59
JSON данные Smagulov85 Работа с сетью в Delphi 25 07.08.2014 11:44