На POST/GET запрос приходит JASON ответ типа:
"minutely":[{"dt":1600343100,"precipitation":0},{"dt":1600343160,"precipitation":0},{"dt":1600343220,"precipitation":0},{"dt":1600343280,"precipitation":0},
{"dt":1600343340,"precipitation":0},{"dt":1600343400,"precipitation":0},{"dt":1600343460,"precipitation":0},{"dt":1600343520,"precipitation":0}]
возможно ли его разобрать поэлементно стандартными способами скрипта?
Здравствуйте.
Для выполнения HTTP POST/GET запросов в Simple-Scada используется функция RequestHTTP (https://simple-scada.com/help/script/requesthttp.html). После получения ответа от сервера скада выполнит скрипты с событием "Выполнен POST/GET запрос" (https://simple-scada.com/help/script/postgetcompleted.html). В таких скриптах есть параметр Response типа TM_HTTPResponse (https://simple-scada.com/help/script/tmhttpresp.html), который содержит все данные ответа сервера. Причем скада автоматически выполнит синтаксический разбор JSON и можно отдельно обратиться к каждому свойству (см. описание класса TM_HTTPResponse (https://simple-scada.com/help/script/tmhttpresp.html) или эти примеры (https://simple-scada.com/help/script/weather.html)).
В Вашем случае в ответе содержится поле "minutely", которое представляет собой массив объектов. В скаде можно пройти по этому массиву в цикле, так:
var
I: Integer;
aArray, aNode: TM_JSONNode;
begin
aArray := Response['minutely']; // извлекаем массив "minutely" в aArray
// проходим по всем элементам массива
for I := 0 to aArray.Count - 1 do
begin
aNode := aArray.Nodes[I]; // извлекаем очередной элемент массива в aNode
// здесь можем что-то сделать с элементом массива
// например получить значение свойства "precipitation" так: aNode['precipitation'].AsInt
end;
end.