Всякий раз, когда я пытаюсь распечатать json из python, он игнорирует разрывы строк и печатает буквальную строку «\ n» вместо новых символов строки.Не удается напечатать json из python
Я генерирую json используя jinja2. Вот мой код:
print json.dumps(template.render(**self.config['templates'][name]))
Он печатает все в блоке ниже (буквально - даже цитаты и "\ п" струны):
"{\n \"AWSTemplateFormatVersion\" : \"2010-09-09\",\n \"Description\" : ...
(укороченный)
я получаю что-то например, всякий раз, когда я пытаюсь свалить что-либо, кроме диктата. Даже если я попробую json.loads(), то сбрасываю его снова, я получаю мусор. Он просто удаляет все разрывы строк.
Что случилось?
Нет, это не сработает. Он не решает проблему с тем, что «print» на самом деле печатает «\ n» вместо новых символов строки. – user1491250
Он работает, если использовать JSON-_object_ (или, скорее, dict в python) в качестве входа для 'json.dumps()'. Если у вас уже есть JSON-объект, представленный как строка, вам больше не нужно 'json.dumps()'. – felixbr
если я запустил 'dat = json.loads (payload.content)' где 'type (payload)' is '' и 'type (dat)' is '', 'json.dumps (dat, indent = 4)' все еще показывает символы '\ n' в выводе консоли, а' json.dumps (payload.content, indent = 4) 'показывает количество символов' \\ 'и нет отступы. Я что-то упустил? EDIT: да, похоже, мне пришлось делать 'print (json.dumps (dat, indent = 4))', чтобы заставить его работать в сеансе интерактивной консоли. –
user5359531