2013-03-12 5 views
1

Я хочу поставить <span> вокруг некоторых чисел в довольно напечатанном выходе JSON.Pretty format JSON

Я использую JSON.stringify() с заменяющим для этого. Однако, поскольку возвращаемый тип фрагмента HTML с диапазоном in является строкой, они теперь цитируются.

Как я могу поместить числа вокруг чисел?

Пример:

JSON.stringify(
    { 
     with_span:1, 
     without_span:1 
    }, 
    function(key,value) { 
     if(key=="with_span") 
      return '<span>'+value+'</span>'; // but I don't want this quoted! :(
     return value; 
    }, 
    4) // the indent 

выходов:

{ 
    "with_span": "1", 
    "without_span": 1 
} 

ответ

1

Невозможно с JSON.stringify().

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

Для достижения того, что вы хотите, вы должны сами пройти объект и визуализировать его как HTML.

Я не знаю вашего прецедента, но, может быть, вы могли бы просто использовать библиотеку для выполнения этой работы? Например, google-code-prettify.

1

Возьмите stringify функции() из json2 (общественного достояния - не защищенные авторских права) и изменить его для вывода отформатированного HTML.