漂亮的打印 JSON python

Posted

技术标签:

【中文标题】漂亮的打印 JSON python【英文标题】:Pretty print JSON python 【发布时间】:2014-05-12 15:18:53 【问题描述】:

如果有人对漂亮的打印 JSON 有一些了解可以帮助我解决这个问题,我将非常感激!

我希望将复杂的 python 字符串转换为 JSON 格式,使用下面的函数将 JSON 字符串移动到文件中:

with open('data.txt', 'wt') as out:
    pprint(string, stream=out)

问题是我相信方括号的语法错误,因为这对我来说是一个新话题,我不知道如何解决这个问题。我需要的 JSON 格式是这样的:

  
        cols:[id: 'Time', "label":"Time","type": "datetime",
              id: 'Time', "label":"Latency","type":"number"],
        rows:[c: [v: %s, v: %s],
              c: [v: %s, v: %s], 
              c: [v: %s, v: %s],
              c: [v: %s, v: %s]
              ]
    

我正在关注 Google Visualization API,您可能更熟悉它,但我需要动态图表。上面的代码是API创建图表所需的格式,所以我正在研究如何将mysql中的数据转换为这种格式,以便可以读取和显示图表。我想到的方法是定期更新包含所需 JSON 格式的文件,这就是 %s 存在的原因,但是 MartijnPeters 认为这是无效的。

有没有人知道我可以做到这一点的最简单方法,或者你能指出任何可以提供帮助的材料吗?谢谢!!

【问题讨论】:

【参考方案1】:

您正在编写 Python 表示,而不是 JSON。

使用json.dump() function 直接将漂亮打印的 JSON 写入您的文件:

with open('data.txt', 'wt') as out:
    res = json.dump(obj, out, sort_keys=True, indent=4, separators=(',', ': '))

【讨论】:

以上是关于漂亮的打印 JSON python的主要内容,如果未能解决你的问题,请参考以下文章

漂亮的打印 JSON python

Java 中的漂亮打印 JSON

如何以漂亮的打印风格在 JSON 中编写数据框?

Postgresql 复制在漂亮打印的 JSON 上失败

漂亮的打印json,但将内部数组保留在一行python

如何有效地漂亮打印 JSON 对象列表? [复制]