一尘不染

漂亮的打印JSON python

json

如果有人对JSON的打印非常了解,那么我将不胜感激!

我正在使用以下功能将JSON字符串移动到文件中,以将复杂的python字符串转换为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认为这是无效的。

有谁知道我做这件事的最简单方法,或者您能指出我可以提供帮助的任何材料吗?谢谢!!


阅读 197

收藏
2020-07-27

共1个答案

一尘不染

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

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

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