формат JSON.выход преобразовать в строки, чтобы div в довольно печатать способом


Я JSON.stringify объект json by

result = JSON.stringify(message, my_json, 2)

The 2 В приведенном выше аргументе предполагается довольно распечатать результат. Он делает это, если я делаю что-то вроде alert(result). Однако я хочу вывести это пользователю, добавив его внутри div. Когда я делаю это, я получаю только одну строку, показывая. (Я не думаю, что это работает, потому что разрывы и пробелы не интерпретируются как html?)

{ "data": { "x": "1", "y": "1", "url": "http://url.com" }, "event": "start", "show": 1, "id": 50 }

есть ли способ вывести результат JSON.stringify к div в довольно печатном виде?

7 98

7 ответов:

пожалуйста, используйте <pre> tag

demo:http://jsfiddle.net/K83cK/

убедитесь, что вывод JSON находится в <pre> тег.

полное раскрытие я являюсь автором этого пакета, но другой способ вывода объектов JSON или JavaScript читаемым способом в комплекте с возможностью пропускать части, сворачивать их и т. д. это nodedump, https://github.com/ragamufin/nodedump

Если это действительно для пользователя, лучше, чем просто вывод текста, вы можете использовать такую библиотеку https://github.com/padolsey/prettyprint.js чтобы вывести его в виде таблицы HTML.

рассмотрим ваш REST API возвращает:

{"Intent":{"Command":"search","SubIntent":null}}

затем вы можете сделать следующее, чтобы распечатать его в хорошем формате:

<pre id="ciResponseText">Output will de displayed here.</pre>   

var ciResponseText = document.getElementById('ciResponseText');
var obj = JSON.parse(http.response);
ciResponseText.innerHTML = JSON.stringify(obj, undefined, 2);   

стиль white-space: pre the <pre> тег также изменяет формат текста, который может быть нежелательным.

вы можете попробовать этот репозиторий : https://github.com/amelki/json-pretty-html