#python #json #text-editor
#python #json #текстовый редактор
Вопрос:
Как мне взять вывод json в текстовом редакторе и организовать его так, чтобы начало новой скобки начиналось со следующей строки, чтобы это выглядело аккуратно?
with open(output, 'w') as json_file:
rows = list(out)
json.dump(rows, json_file)
Это конец кода, который выводит мне json, но не аккуратно.
[{column1:value1,column2:value1},{column1:value2,column2:value2},{column1:value3,column2:value3},{column1:value4,column2:value4}]
Я пробовал это. Однако я получаю сообщение об ошибке.
with open(output, 'w') as json_file:
rows = list(out)
json.dump(rows, json_file) ',' 'n'
Я хотел бы, чтобы мой результат выглядел как
[{column1:value1,column2:value1},
{column1:value2,column2:value2},
{column1:value3,column2:value3},
{column1:value4,column2:value4}]
Комментарии:
1. То, что вы ищете, называется «красивая печать». Если вы просто хотите посмотреть на это, передайте свой вывод через
jq
, в противном случае выполните какой-нибудь веб-поиск с этим именем, вы должны получить несколько результатов.
Ответ №1:
Хотя модуль json позволяет выбирать отступ, я не мог понять, как создавать пользовательские макеты.
Итак, мое лучшее решение заключается в следующем:
import json
path = "/path/to/json"
d = [
{"column1": "value1", "column2": "value1"},
{"column1": "value2", "column2": "value2"},
{"column1": "value3", "column2": "value3"},
{"column1": "value4", "column2": "value4"}
]
lines = "["
for x in d[:-1]:
lines = json.dumps(x) ",n"
lines = json.dumps(d[-1]) "]"
with open(path, "w") as f:
f.write(lines)