如果我创建一个JSON对象并在控制台上打印它:
LJSONObject:= TJSONObject.Create;
LJSONObject.AddPair(TJSONPair.Create(TJSONString.Create('Hello'), TJSONString.Create('World')));
LJSONObject.AddPair(TJSONPair.Create(TJSONString.Create('Ciao'), TJSONString.Create('Mondo')));
Writeln(LJSONObject.ToString);
结果是:
{"Hello":"World", "Ciao":"Mondo"}
如何以更好的缩进打印结果,像这样?
{
"Hello":"World",
"Ciao":"MOndo"
}
答案 0 :(得分:5)
TJSONObject
不支持漂亮打印。
其他JSON库可以。例如SuperObject,如下所述:How do I pretty-print JSON in Delphi?
答案 1 :(得分:1)
正如Sir Rufo所指出的那样,从XE5开始有一个内置选项。
uses REST.JSON,System.JSON;
...
function PrettyJSON(jsonstring:String):String;
var jdoc:TJSONObject;
begin
jdoc:=TJSONObject.ParseJSONValue(jsonstring) as TJSONObject;
result:=TJSON.Format(jdoc)
end;