Как сделать так, чтобы мой вывод JSON в текстовом редакторе перешел на следующую строку перед началом новой скобки с использованием Python? - PullRequest
0 голосов
/ 24 апреля 2019

Как мне взять вывод 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 Ответ

0 голосов
/ 24 апреля 2019

Хотя json module позволяет выбирать отступы, я не мог понять, как создавать пользовательские макеты.
Поэтому мое лучшее решение заключается в следующем:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...