Украсьте массив JSON в JavaScript
Возможный дубликат:
JSON красивая печать с использованием JavaScript
Я работаю над проектом, который будет использоваться для анализа и понимания массивов JSON будущими разработчиками платформы. Я ссылаюсь на блестящую страницу Graph Explorer в Facebook, которую вы видите здесь, и хочу вывести наш массив в предварительно проверенный, правильно заданный отступ с вкладкой и массив разрыва строки, как это происходит в проводнике.
Массивы выводятся в textarea
и из-за этого я думаю, что у меня возникают проблемы с разрывом строки и табуляции. Я также пытался использовать библиотеку prettify, но безуспешно.
Пример:
{"outcome" : "success", "result" : {"name" : "messaging-sockets", "default-interface" : "external", "include" : [], "socket-binding" : {"messaging" : {"name" : "messaging", "interface" : null, "port" : 5445, "fixed-port" : null, "multicast-address" : null, "multicast-port" : null}, "messaging-throughput" : {"name" : "messaging-throughput", "interface" : null, "port" : 5455, "fixed-port" : null, "multicast-address" : null, "multicast-port" : null}}}, "compensating-operation" : null}
Для того, чтобы:
{
"outcome":"success",
"result":{
"name":"messaging-sockets",
"default-interface":"external",
"include":[
],
"socket-binding":{
"messaging":{
"name":"messaging",
"interface":null,
"port":5445,
"fixed-port":null,
"multicast-address":null,
"multicast-port":null
},
"messaging-throughput":{
"name":"messaging-throughput",
"interface":null,
"port":5455,
"fixed-port":null,
"multicast-address":null,
"multicast-port":null
}
}
},
"compensating-operation":null
}
2 ответа
Вы можете использовать JSON.stringify:
JSON.stringify(jsonobj,null,'\t')
Смотрите демо.
ОБНОВЛЕНИЕ: если у вас нет jsonobj
, но есть строка JSON, то перед использованием stringify
функция, преобразуйте строку json в объект json этой строкой:
jsonobj = JSON.parse(jsonstring);
Попробуйте это решение, я также использовал это в своем проекте