加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在Delphi中打印JSON?

发布时间:2020-12-15 04:12:28 所属栏目:大数据 来源:网络整理
导读:我正在寻找一个函数,它将一串 JSON作为输入,并使用换行符和缩进(制表符)对其进行格式化. 例: 我有输入线: {"menu": {"header": "JSON viewer","items": [{"id": "Delphi"},{"id": "Pascal","label": "Nice tree format"},null]}} 并希望以文本形式获得可读
我正在寻找一个函数,它将一串 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(字符串); ]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读