2015-01-06 1 views
0

Мне нужно форматировать JSON в моем веб-приложении, которое разрабатывается с использованием Angular JS и Java.Как создать форматировщик JSON с JS и HTML?

Я в основном хочу такой форматировать JSON, который показывает JSON в его форматированном виде. Мне нужен форматтер, потому что обычно, когда я обрабатываю текст JSON в html, он отображается точно так же, как куча текстов.

Вот почему я хотел сделать форматировщик JSON, чтобы показать этот текст JSON в форматированном виде. Это поможет пользователям легко понять JSON.

В моем приложении пользовательский ввод JSON для разных целей. Например, администратор вводит/модифицирует JSON для генерации динамических полей. Текст JSON будет храниться в DB. Я хочу сделать распространенный форматировщик JSON для всех целей. Если это не возможный формат форматирования JSON для различной работы.

Некоторые люди предлагают мне использовать JSON.stringify(). Но как я могу использовать это для своей цели? или любая другая идея?

+3

Дубликат [** Как я могу украсить JSON программно? **] (http://stackoverflow.com/questions/2614862/how-can-i-beautify-json-programmatically). – ryeballar

+0

Я бы добавил пример из комментария к сообщению. Похоже, что ваша проблема не является фактически неработающим 'JSON.stringify()', а именно, как HTML показывает строку. Это может помешать закрытию вопроса в качестве дубликата. – Teemu

+0

Мне понадобилось угловое решение JS. мия дал ответ уже .. –

ответ

0

JSON.stringify является то, что вы ищете

JSON.stringify(jsonObject, null, 4); // stringify with spaces (recommended) 
JSON.stringify(jsonObject, null, '\t'); // stringify with tabs 

Реальный пример:

<html> 
    <body> 
     <pre> 
      <div id="stringifiedCode"> 

      </div> 
     </pre> 
    </body> 
</html> 

<script type="text/javascript"> 
var obj = { "hello" : "world", "Test" : [ "hello" ] }; 
document.getElementById('stringifiedCode').innerHTML =JSON.stringify(obj, null, 4); 
</script> 
+0

вар OBJ = { \t \t "привет": "мир", \t \t "Тест": [ "привет"] \t} \t document.body.innerHTML = "" ; \t document.body.appendChild (document.createTextNode (JSON.stringify (OBJ, нулевой, \t \t \t 4))); Я использовал это, но не работает. Любая библиотека нужна? –

+0

Не нужны библиотеки, которые [отлично работают] (http://jsfiddle.net/vrha90st/). Обратите внимание, что строка JSON содержит символы типа '\ n', которые не могут быть показаны во всех элементах HTML. – Teemu

+0

http://plnkr.co/edit/G2R21EvgcxmbtkXG3opO?p=preview Вы видите это? –

0

HTML:

<div ng-app="myapp" ng-controller="myctrl"> 
    <pre>{{ str|json }}</pre> 
</div> 

Сценарий:

angular.module('myapp',[]) 
.controller('myctrl',function($scope){ 
    $scope.str = {name:'Joe',address:'xyz',mobile:['154552','45698']}; 
    }); 

Plunker

+0

В Plunker PLS. –

+0

в плункере http://plnkr.co/edit/EPA24AVtwBXu7X2Glrpr – mia

 Смежные вопросы

  • Нет связанных вопросов^_^