• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Помощь в коде Json И Delphi

4eshir Оффлайн

4eshir

Принятый Кодер
Регистрация
11 Авг 2016
Сообщения
12
Баллы
30
прошу прощения если такая тема есть но не нашел но может ли кто по полочкам разьяснить как работать с json из встроенной в rad studio библиотекой ака system.json сломал голову но не могу спарсерить(
 
Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,549
Баллы
155
прошу прощения если такая тема есть но не нашел но может ли кто по полочкам разьяснить как работать с json из встроенной в rad studio библиотекой ака system.json сломал голову но не могу спарсерить(

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

Посмотри тут может поможет
 
Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155
прошу прощения если такая тема есть но не нашел но может ли кто по полочкам разьяснить как работать с json из встроенной в rad studio библиотекой ака system.json сломал голову но не могу спарсерить(
Вот у нас на форуме почитайте ссылка

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
4eshir Оффлайн

4eshir

Принятый Кодер
Регистрация
11 Авг 2016
Сообщения
12
Баллы
30
может ли к то помочь все по этой же теме? как вытащить из json определенные строки к примеру есть body : и текст таких боди рандомное количество нужно все в мемо вытащить
 
4eshir Оффлайн

4eshir

Принятый Кодер
Регистрация
11 Авг 2016
Сообщения
12
Баллы
30
разобрался как получить одну строку но как вытащить ее отовсюда не смог написать цикл как то проблемно еще(
 
Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155
Всё очень легко делается через цикл, если вы новичёк, то вам придётся погоняться с цикла и, если я вам покажу уже новый пример вы не поймёте как это работает и будете продвигаться дальше, потеряя почти самое важную функцию "цыкл", он очень легко учиться и его очень легко понять, у нас на форуме присутствует в разделе для новичков много статей про циклы.
 
zloy Оффлайн

zloy

Принятый Кодер
Регистрация
9 Янв 2016
Сообщения
38
Баллы
50
uLkJSON либо встроенным System.JSON
из JSON
Код:
{"data":[[0.01,0.02],[0.03,0.4],[0.05,0.06]]}
как с такого кода получить 0,01 и 0,02 в разные переменные

пробывал так

Код:
procedure TForm1.btn8Click(Sender: TObject);
var
  js: TlkJSONobject;
  jl: TlkJSONlist;
  i: integer;
begin
  js := TlkJSON.ParseText(mmo1.Text) as TlkJSONobject;
  jl := js.Field['data'] as TlkJSONlist;

// mmo3.Lines.Add(vartostr(jl.Field['data'].Field['0.01'].Value));
// mmo3.Lines.Add(vartostr(jl.Child[0].Value));
  for i := 0 to jl.Count do
  begin
    //mmo3.Lines.Add(vartostr(jl.Child[i].Field['0.01'].Value));
    //mmo3.Lines.Add(vartostr(jl.Child[i].Field['0.01'].Value));
    //mmo3.Lines.Add(vartostr(jl.Child[i]));
    //mmo3.Lines.Add(vartostr(jl.Child[i].Value));
    //mmo3.Lines.Add(vartostr(jl.Child[i].Field['0.01'].Value));

  end;

  js.Free;
end;
 
Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155
Memo.Add(FAvlEnum.Current.Value.AsArray.S[cRegionNameID]);
until not FAvlEnum.MoveNext;
 
zloy Оффлайн

zloy

Принятый Кодер
Регистрация
9 Янв 2016
Сообщения
38
Баллы
50
полный код можно?
 
Polya Оффлайн

Polya

Принятый Кодер
Регистрация
8 Июн 2016
Сообщения
47
Баллы
50
uLkJSON либо встроенным System.JSON
из JSON
Код:
{"data":[[0.01,0.02],[0.03,0.4],[0.05,0.06]]}
как с такого кода получить 0,01 и 0,02 в разные переменные

пробывал так

Код:
procedure TForm1.btn8Click(Sender: TObject);
var
  js: TlkJSONobject;
  jl: TlkJSONlist;
  i: integer;
begin
  js := TlkJSON.ParseText(mmo1.Text) as TlkJSONobject;
  jl := js.Field['data'] as TlkJSONlist;

// mmo3.Lines.Add(vartostr(jl.Field['data'].Field['0.01'].Value));
// mmo3.Lines.Add(vartostr(jl.Child[0].Value));
  for i := 0 to jl.Count do
  begin
    //mmo3.Lines.Add(vartostr(jl.Child[i].Field['0.01'].Value));
    //mmo3.Lines.Add(vartostr(jl.Child[i].Field['0.01'].Value));
    //mmo3.Lines.Add(vartostr(jl.Child[i]));
    //mmo3.Lines.Add(vartostr(jl.Child[i].Value));
    //mmo3.Lines.Add(vartostr(jl.Child[i].Field['0.01'].Value));

  end;

  js.Free;
end;
Для того чтобы достать элемент массива, нужно обратиться к ключу "data":

Вот пример
Код:
// Это пример с использованием стандартной библиотеки Delphi прежде нужно подключить в uses System.Json

procedure TForm1.Button1Click(Sender: TObject);
var
  JsonObject: TJSONObject;
  JsonArray: TJSONArray;
begin
  JsonObject := TJSONObject.ParseJSONValue( '{"data":[[0.01,0.02],[0.03,0.4],[0.05,0.06]]}') as TJSONObject;

  JsonArray:= JsonObject.GetValue('data') as TJSONArray;

  ShowMessage(FloatToStr(((JsonArray.Items[0] as TJSONArray).Items[0] as TJSONNumber).AsDouble));
  ShowMessage(FloatToStr(((JsonArray.Items[0] as TJSONArray).Items[1] as TJSONNumber).AsDouble));

  JsonObject.Destroy;
end;
Если в массиве находится еще один массив, тогда мы обращаемся еще раз к методу Items
Код:
(JsonArray.Items[0] as TJSONArray).Items[0] as TJSONNumbe
Самый главный массив, в котором лежат другие массивы, мы говорим что он "как массив" тоесть "as TJSONArray"
затем мы берем в круглые скобки и обращаемся еще раз к методу Items и это уже мы обращаемся к массивам в массиве ).Items[Index]
А в этих массивах у нас вещественные числа, и мы говорим что они "как число" тоесть "as TJSONNumber" затем мы берем в круглые скобки и,
указываем на то какой мы возвращаем тип в переменную ).AsDouble
 
zloy Оффлайн

zloy

Принятый Кодер
Регистрация
9 Янв 2016
Сообщения
38
Баллы
50
да я уже разобрался со всем) давно
 
Вверх Снизу