Как отформатировать текст в стиле JSON с помощью Python? - PullRequest
1 голос
/ 22 июня 2019

Я написал программу для преобразования KML в GeoJSON.Но когда я смотрю на выходные файлы, они пишутся без пробелов, что делает их очень трудными для чтения.

Я пытался использовать модуль json следующим образом: file = json.load("<filename>") Но он вернул следующее:

File "/usr/lib/python3.6/json/__init__.py", line 296, in load
    return loads(fp.read())
AttributeError: 'str' has no attribute 'read'

1 Ответ

1 голос
/ 22 июня 2019

load принимает объект файла, а не имя файла.

with open("filename") as fh:
    d = json.load(fh)

После того, как вы проанализировали его, вы можете сбросить его снова, но отформатировать немного лучше

with open("formatted-filename.json", "w") as fh:
    json.dump(d, fh, indent=4)
...