繁体   English   中英

以“漂亮”(缩进)格式打印JSON

[英]Print JSON with “pretty” (indented) format

如果我创建一个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"
}

TJSONObject不支持漂亮的打印。

其他JSON库也可以。 例如SuperObject ,如下所述: 如何在Delphi中打印JSON?

正如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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM