мне нужно несколько данных что бы потом формировать с ними запросы
нужны ID
пишу на Delphi 10
JSO := TJSONObject.ParseJSONValue(html) as TJSONObject;
if Assigned(JSO) then
begin
JSO := TJSONObject.ParseJSONValue(JSO.GetValue('response').ToString) as TJSONObject;
JsA := TJSONObject.ParseJSONValue(JSO.GetValue('pipelines').ToString) as TJSONArray;
JSO := TJSONObject.ParseJSONValue(JsA.Items[0].ToString) as TJSONObject;
frm_main.Memo1.text := JSO.GetValue('id').value;
end;
html загружается сам JSON ответ по GET запросу
JSO: TJSONObject;
JsA: TJSONArray;
в данной строке ошибка
JsA := TJSONObject.ParseJSONValue(JSO.GetValue('pipelines').ToString) as TJSONArray;
не соответствие типов
в JSON работаю впервые потому понимаю что ошибка может быть детская . если накидаете ссылки на хорошую литературу по тому как работать с JSON тоже буду благодарен
Вопрос
munhauz
Доброго дня народ. Сразу к сути.
есть ответ с сервера в формате JSON
{ "response": { "pipelines": { "804520": { "id": 804520, "value": 804520, "label": "Звонки", "name": "Звонки", "sort": 1, "is_main": true, "statuses": { "142": { "id": 142, "name": "В работе", "color": "#CCFF66", "sort": 10000, "editable": "N", "pipeline_id": 804520 }, "143": { "id": 143, "name": "Черный список", "color": "#D5D8DB", "sort": 11000, "editable": "N", "pipeline_id": 804520 }, "16662694": { "id": 16662694, "name": "Первичный контакт", "pipeline_id": 804520, "sort": 10, "color": "#99ccff", "editable": "Y" }, "16681687": { "id": 16681687, "name": "Не интересно", "pipeline_id": 804520, "sort": 30, "color": "#ff8f92", "editable": "Y" }, "17078218": { "id": 17078218, "name": "Интересно", "pipeline_id": 804520, "sort": 20, "color": "#fff000", "editable": "Y" } }, "leads": 34 }, "804529": { "id": 804529, "value": 804529, "label": "E-mail", "name": "E-mail", "sort": 2, "is_main": false, "statuses": { "142": { "id": 142, "name": "В работе", "color": "#CCFF66", "sort": 10000, "editable": "N", "pipeline_id": 804529 }, "143": { "id": 143, "name": "Черный список", "color": "#D5D8DB", "sort": 11000, "editable": "N", "pipeline_id": 804529 }, "16662775": { "id": 16662775, "name": "Первичный контакт", "pipeline_id": 804529, "sort": 10, "color": "#99ccff", "editable": "Y" }, "17040784": { "id": 17040784, "name": "Не интересно", "pipeline_id": 804529, "sort": 30, "color": "#ff8f92", "editable": "Y" }, "17082589": { "id": 17082589, "name": "Интересно", "pipeline_id": 804529, "sort": 20, "color": "#fff000", "editable": "Y" } }, "leads": 6 }, "839881": { "id": 839881, "value": 839881, "label": "Почта", "name": "Почта", "sort": 3, "is_main": false, "statuses": { "142": { "id": 142, "name": "В работе", "color": "#CCFF66", "sort": 10000, "editable": "N", "pipeline_id": 839881 }, "143": { "id": 143, "name": "Черный список", "color": "#D5D8DB", "sort": 11000, "editable": "N", "pipeline_id": 839881 }, "17073886": { "id": 17073886, "name": "Первичный контакт", "pipeline_id": 839881, "sort": 10, "color": "#99ccff", "editable": "Y" }, "17073889": { "id": 17073889, "name": "Не интересно", "pipeline_id": 839881, "sort": 30, "color": "#ff8f92", "editable": "Y" }, "17082592": { "id": 17082592, "name": "Интересно", "pipeline_id": 839881, "sort": 20, "color": "#fff000", "editable": "Y" } }, "leads": 2 }, "839884": { "id": 839884, "value": 839884, "label": "Соц сети", "name": "Соц сети", "sort": 4, "is_main": false, "statuses": { "142": { "id": 142, "name": "В работе", "color": "#CCFF66", "sort": 10000, "editable": "N", "pipeline_id": 839884 }, "143": { "id": 143, "name": "Черный список", "color": "#D5D8DB", "sort": 11000, "editable": "N", "pipeline_id": 839884 }, "17073895": { "id": 17073895, "name": "Первичный контакт", "pipeline_id": 839884, "sort": 10, "color": "#99ccff", "editable": "Y" }, "17073898": { "id": 17073898, "name": "Не интересно", "pipeline_id": 839884, "sort": 30, "color": "#ff8f92", "editable": "Y" }, "17082595": { "id": 17082595, "name": "Интересно", "pipeline_id": 839884, "sort": 20, "color": "#fff000", "editable": "Y" } }, "leads": 0 }, "839887": { "id": 839887, "value": 839887, "label": "Другое", "name": "Другое", "sort": 5, "is_main": false, "statuses": { "142": { "id": 142, "name": "В работе", "color": "#CCFF66", "sort": 10000, "editable": "N", "pipeline_id": 839887 }, "143": { "id": 143, "name": "Черный список", "color": "#D5D8DB", "sort": 11000, "editable": "N", "pipeline_id": 839887 }, "17073904": { "id": 17073904, "name": "Первичный контакт", "pipeline_id": 839887, "sort": 10, "color": "#99ccff", "editable": "Y" }, "17073907": { "id": 17073907, "name": "Не интересно", "pipeline_id": 839887, "sort": 30, "color": "#ff8f92", "editable": "Y" }, "17082598": { "id": 17082598, "name": "Интересно", "pipeline_id": 839887, "sort": 20, "color": "#fff000", "editable": "Y" } }, "leads": 0 } }, "colors": [ "#fffeb2", "#fffd7f", "#fff000", "#ffeab2", "#ffdc7f", "#ffce5a", "#ffdbdb", "#ffc8c8", "#ff8f92", "#d6eaff", "#c1e0ff", "#98cbff", "#ebffb1", "#deff81", "#87f2c0", "#f9deff", "#f3beff", "#ccc8f9", "#eb93ff", "#f2f3f4", "#e6e8ea" ], "server_time": 1509727339 } }таким вот форматом
мне нужно несколько данных что бы потом формировать с ними запросы
нужны ID
пишу на Delphi 10
JSO := TJSONObject.ParseJSONValue(html) as TJSONObject; if Assigned(JSO) then begin JSO := TJSONObject.ParseJSONValue(JSO.GetValue('response').ToString) as TJSONObject; JsA := TJSONObject.ParseJSONValue(JSO.GetValue('pipelines').ToString) as TJSONArray; JSO := TJSONObject.ParseJSONValue(JsA.Items[0].ToString) as TJSONObject; frm_main.Memo1.text := JSO.GetValue('id').value; end;html загружается сам JSON ответ по GET запросу
JSO: TJSONObject; JsA: TJSONArray;в данной строке ошибка
JsA := TJSONObject.ParseJSONValue(JSO.GetValue('pipelines').ToString) as TJSONArray;не соответствие типов
в JSON работаю впервые потому понимаю что ошибка может быть детская . если накидаете ссылки на хорошую литературу по тому как работать с JSON тоже буду благодарен
Изменено пользователем Andrey EfimovДобавил тег "Спойлер"
4 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.