如何在Delphi中打印JSON?

前端之家收集整理的这篇文章主要介绍了如何在Delphi中打印JSON?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一个函数,它将一串 JSON作为输入,并使用换行符和缩进(制表符)对其进行格式化.

例:
我有输入线:

{"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.
有人可以帮忙这样的功能吗?

更新 – 使用SuperObject的解决方案:

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;

解决方法

使用superobject库,确保使用 the latest version from the repository file,not the 1.2.4 ZIP.

然后你可以用.AsJSON(true)格式化你的TSuperObject对象(‘true’可以解决这个问题).

[请注意,您无法控制JSON字段的显示顺序]

[并从字符串创建对象:var lJSON:ISuperObject; lJSON:= SO(字符串); ]

猜你在找的Delphi相关文章