Я ищу функцию, которая будет вводить строку JSON в качестве входных данных и форматировать ее с помощью разрывов строк и отступов (вкладок).Как я могу печатать JSON в Delphi?
Пример: У меня есть строки ввода:
{"menu": {"header": "JSON viewer", "items": [{"id": "Delphi"},{"id": "Pascal", "label": "Nice tree format"}, null]}}
И хотите получить читаемый результат в виде текста:
{
"menu":{
"header":"JSON viewer",
"items":[
{
"id":"Delphi"
},
{
"id":"Pascal",
"label":"Nice tree format"
},
null
]
}
}
Я нашел много примеров для PHP и C#, но не для Delphi. Может ли кто-нибудь помочь с такой функцией?
Update - Решение с надобъекта:
function FormatJson (InString: WideString): string; // Input string is "InString"
var
Json : ISuperObject;
begin
Json := TSuperObject.ParseString(PWideChar(InString), True);
Result := Json.AsJson(true, false); //Here comes your result: pretty-print JSON
end;
Приятно, чтобы вы ответили. –
Если вы просто изменили свой тип входных параметров на 'WideString', вам не понадобится * any * этого кода преобразования; компилятор будет автоматически выполнять эквивалентную задачу при каждом вызове 'FormatJson'. Просто измените тип, и вы можете заменить первые семь строк на 'Json: = TSuperObject.ParseString (PWideChar (InString), True)'. –