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

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

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

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

  • Автор темы Автор темы 4eshir
  • Дата начала Дата начала

4eshir

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

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

Посмотри тут может поможет
 
прошу прощения если такая тема есть но не нашел но может ли кто по полочкам разьяснить как работать с json из встроенной в rad studio библиотекой ака system.json сломал голову но не могу спарсерить(
Вот у нас на форуме почитайте ссылка

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

 
может ли к то помочь все по этой же теме? как вытащить из json определенные строки к примеру есть body : и текст таких боди рандомное количество нужно все в мемо вытащить
 
разобрался как получить одну строку но как вытащить ее отовсюда не смог написать цикл как то проблемно еще(
 
Всё очень легко делается через цикл, если вы новичёк, то вам придётся погоняться с цикла и, если я вам покажу уже новый пример вы не поймёте как это работает и будете продвигаться дальше, потеряя почти самое важную функцию "цыкл", он очень легко учиться и его очень легко понять, у нас на форуме присутствует в разделе для новичков много статей про циклы.
 
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;
 
полный код можно?
 
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
 
да я уже разобрался со всем) давно
 
Вверх Снизу