如何以编程方式执行python模块(python -m json.tool)?

时间:2013-05-01 14:16:39

标签: python

我想在我的代码中执行json.tool并返回输出(因为一些奇怪的问题json.dumps对我不起作用。但是,将json转储到文件并通过python -m json.tool运行它会给出我想要的是什么。

如何以编程方式在代码中执行json.tool?

1 个答案:

答案 0 :(得分:8)

json.tool只做以下事情:

with infile:
    obj = json.load(infile)
with outfile:
    json.dump(obj, outfile, sort_keys=True,
              indent=4, separators=(',', ': '))

其中infileoutfile分别默认为stdinstdout

如果您已有物品,则可以使用以下方法获得相同的效果:

import json, sys

json.dump(obj, sys.stdout, sort_keys=True,
          indent=4, separators=(',', ': '))

print json.dumps(obj, sort_keys=True,
                 indent=4, separators=(',', ': '))