Довольно печати JSON Python

Если бы кто-нибудь с некоторыми знаниями о красивой печати 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}]}
              ]
    }

Я следую API визуализации Google, возможно, вы знакомы с ним, но мне нужны динамические графики. Приведенный выше код является форматом, который требуется API для создания графика, поэтому я пытаюсь выяснить, как перенести мои данные из MYSQL в этот формат, чтобы график мог считываться и отображаться. Метод, о котором я подумал, состоял в том, чтобы периодически обновлять файл, содержащий требуемый формат JSON, поэтому присутствуют%s, однако MartijnPeters предполагает, что это неверно.

Кто-нибудь знает самый простой способ, которым я могу это сделать, или вы можете указать мне на любой материал, который может помочь? Спасибо!!

1 ответ

Решение

Вы пишете представления Python, а не JSON.

Использовать json.dump() функция для записи симпатичного печатного JSON вместо этого прямо в ваш файл:

with open('data.txt', 'wt') as out:
    res = json.dump(obj, out, sort_keys=True, indent=4, separators=(',', ': '))
Другие вопросы по тегам