14

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 はこれが無効であることを示唆しています。

これを行う最も簡単な方法を知っている人はいますか、それとも役立つ資料を教えてもらえますか? ありがとうございました!!

4

1 に答える 1

47

JSONではなくPython表現を書いています。

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 に答える