如何直观地格式化 JSON 数据(以编程方式)?

发布于 2024-10-16 07:40:32 字数 336 浏览 1 评论 0原文

我正在处理大块 JSON。这些斑点会随着时间的推移而略有变化,并保留修订历史记录。我真的很希望能够对它们进行视觉差异,但我的问题是它们的存储根本没有任何格式 - 所有内容都在一行上,因此很难看出发生了什么变化。

有没有一种好的方法可以以编程方式格式化它们 ala http://jsonformat.com/http://jsonformatter.curiousconcept.com/

I'm working with big blobs of JSON. These blobs change slightly over time and a revision history is kept. I'd really like to be able to do a visual diff on them, but my problem is they're being stored without any formatting at all - everything is on one line, so that makes it a little hard to see what changed.

Is there a good way to programatically format them ala http://jsonformat.com/ or http://jsonformatter.curiousconcept.com/?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

空气里的味道 2024-10-23 07:40:32

如果 Python 是您可以使用的语言之一:

>>> j='{ "tstr" : "xxx", "tarrr" : [ "a0", "a1" ] }'
>>> import json
>>> a=json.loads(j)
>>> print json.dumps(a, indent = 4, sort_keys=True);
{
    "tarrr": [
        "a0", 
        "a1"
    ], 
    "tstr": "xxx"
}

这会有帮助吗?

编辑:

这是一个 Python 脚本,它在其标准输入中采用单个有效的 JSON 对象,并在其标准输出中输出其格式化版本:

#!/usr/bin/python

import json
import sys

print json.dumps(json.load(sys.stdin), indent = 4, sort_keys = True)

Linux 上的使用示例:

$ echo '{ "tstr" : "xxx", "tarrr" : [ "a0", "a1" ] }' | ./json-format.py 
{
    "tarrr": [
        "a0", 
        "a1"
    ], 
    "tstr": "xxx"
}

以及 这里是Python JSON模块的文档。

If Python is one of the languages that you can use:

>>> j='{ "tstr" : "xxx", "tarrr" : [ "a0", "a1" ] }'
>>> import json
>>> a=json.loads(j)
>>> print json.dumps(a, indent = 4, sort_keys=True);
{
    "tarrr": [
        "a0", 
        "a1"
    ], 
    "tstr": "xxx"
}

Would this help?

EDIT:

Here's a Python script that takes a single valid JSON object in its standard input and outputs its formatted version in its standard output:

#!/usr/bin/python

import json
import sys

print json.dumps(json.load(sys.stdin), indent = 4, sort_keys = True)

Usage example on Linux:

$ echo '{ "tstr" : "xxx", "tarrr" : [ "a0", "a1" ] }' | ./json-format.py 
{
    "tarrr": [
        "a0", 
        "a1"
    ], 
    "tstr": "xxx"
}

And here is the documentation for the Python JSON module.

薆情海 2024-10-23 07:40:32

您是否看过.Net 的Jayrock JSON 库

Json.org 还在页面底部列出了 ASP 和 C# 的其他潜在库。

Have you taken a look at the Jayrock JSON library for .Net?

Json.org also lists other potential libraries for ASP and C# at the bottom of the page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文