如何在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(字符串); ] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |