漂亮的打印JSON python

Tom*_*ara 13 python string json google-visualization pprint

如果有任何关于漂亮印刷JSON的人可以帮助我,我将非常感激!

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

with open('data.txt', 'wt') as out:
    pprint(string, stream=out)
Run Code Online (Sandbox Code Playgroud)

问题是我认为方括号的语法错误,因为这对我来说是一个新主题,我无法弄清楚如何解决这个问题.我需要的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}]}
              ]
    }
Run Code Online (Sandbox Code Playgroud)

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

有没有人知道我能做到的最简单的方法,还是你能指出任何有用的材料?谢谢!!

Mar*_*ers 46

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

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

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