Напишу сразу, чтобы не было флуда,
использую стандартный TJSONObject. Просьба не тратить время на написание примеров, советов для других библиотек. Ну т.е. тот JSONObject использую, что идёт искаропки в Delphi Tokyo.
Да, я знаю, что в других библиотеках может быть проще. А может быть и в стандартной так можно, как я хочу.
Итак. Есть JSON строка, как на картинке для наглядности.
На данный момент, у меня получается говнокод, который сперва получаю TJsonValue, потом TJSONObject для всей строки, т.е. общий JSON-объект, потом всякие проверки. Затем то же самое узла "result", потом всякие проверки. Потом то же самое нужно сделать для узла "ad_parameters" ну и дальше уже цикл по массиву. Могу показать, но страшно )))
А нельзя ли это всё превратить в одну строку типа
const
sJSON = 'здесь JSON-строка';
var
JSONParamsVal: TJSONValue;
JSONArray: TJSONArray;
begin
JSONParamsVal := TJSONObject.ParseJSONValue(sJSON).Get('result').Get('ad_parameters');
if JSONParamsVal is TJSONArray then
JSONArray := TJSONArray(JSONParamsVal);
...
...