Довольно печати 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=(',', ': '))