4

有一种使用 Python 漂亮打印有效 JSON 的方法:How can I pretty-print JSON in (unix) shell script?

然而 jsonlint.com 会漂亮地打印 JSON,即使有问题。

我想这样做,我正在使用 Python。有谁知道这样做的脚本?

谢谢 :)

4

4 回答 4

1

您可以在自己的脚本或它提供的工具中使用demjson模块jsonlint.py

于 2012-07-02T09:25:02.150 回答
1

@kelw已经指出demjson,它适用于稍微无效的 JSON。对于我写的更不符合 JSON 的数据barely_json

from barely_json import parse
from pprint import pprint

invalid_json = '[no, , {complete: yes}]'
data = parse(invalid_json)
pprint(data)
于 2017-05-12T17:09:52.063 回答
1

尝试使用 jsbeautifier库来美化 JavaScript。它之所以有效,是因为 JSON“几乎”是 JavaScript 的子集。

import json
import jsbeautifier

invalid_json = '{"hello": "world",}'

json.loads(invalid_json)
# ValueError: Expecting property name: line 4 column 1 (char 25)

jsbeautifier.beautify(invalid_json)
# '{\n    "hello": "world",\n}'
于 2017-10-11T09:57:30.677 回答
0

有一种使用 Python 的内置方法:

python -m json.tool myfile.json
于 2012-06-12T15:51:02.817 回答