14

如果有一些关于漂亮打印 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 认为这是无效的。

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

4

1 回答 1

47

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

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

with open('data.txt', 'wt') as out:
    res = json.dump(obj, out, sort_keys=True, indent=4, separators=(',', ': '))
于 2014-04-01T17:34:24.297 回答