Украсьте массив 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);

Попробуйте это решение, я также использовал это в своем проекте

Другие вопросы по тегам