Имею вот такой JSON задача получить все ID внутри массива. { "google.ru":[ 3395968357, 3215823634, 2188740119, 219222022, 2193906604, 2685240517, 1668160197 ] }
с таким видом json будут проблемы в ISuperObject из-за точки в имени, то есть к примеру есть такая строка в json: {"google":[3395968357,3215823634,2188740119,219222022,2193906604,2685240517,1668160197]} она спокойно парсится так: Code: procedure trololo(); begin var item, json: ISuperObject; begin json:= SO('{"google":[3395968357,3215823634,2188740119,219222022,2193906604,2685240517,1668160197]}'); json:= json.O['google']; if Assigned(json) then for item in json do Memo.Lines.add(item.AsString); end; а вот строка вида: {"google.ru":[3395968357,3215823634,2188740119,219222022,2193906604,2685240517,1668160197]} при использовании кода, что выше уже не распарсится, как хотелось бы, и проблема тут в json.O['google.ru']; в ISuperObject есть возможность использовать "пути" и json.O['google.ru'] будет интерпретироваться, как разбор вот такой json строки: {"google":{"ru":[3395968357,3215823634,2188740119,219222022,2193906604,2685240517,1668160197]}} возможное решение это правка исходника и удаление точки в файле superobject.pas Code: 2291: delimiters = ['"', {'.', } '[', ']', '{', '}', '(', ')', ',', ':', #0]; но это решение на свой страх и риск =)