2010-05-04 4 views
16

Имеет ли jQuery объект JSON/Javascript для функции широкоформатной печати HTML, аналогичной функции var_dump PHP? Если да, что это?Имеет ли jQuery объект JSON/javascript для функции довольно красивой HTML, аналогичной функции var_dump PHP?

+0

возможно дубликат http://stackoverflow.com/questions/323517/is-there-an-equivalent-for-var-dump-php-in-javascript – artlung

+1

я смотрел на это, прежде чем я писал. –

+0

Взгляните на это сообщение SO http://stackoverflow.com/questions/323517/is-there-an-equivalent-for-var-dump-php-in-javascript –

ответ

24

jQuery не является (из коробки).

Тем не менее, Джеймс Падольси создал this prettyPrint, который мне очень нравится.

Кроме того, если вы используете Firebug или Web Inspector (или аналогичный), вы можете просто ввести объект в консоль, нажмите return и увидите дамп дерева объекта. Для принудительного древовидного вызова позвоните по телефону console.dir(obj)

-2

Используя JQuery, вы можете получить object.serialize() для вывода объекта. Это похоже на var_dump() в php или Zend_Debug::dump() в Zend.

+1

Не работает с объектами JSON. –

3

Несмотря на то, что принятый ответ верен, что jQuery не имеет красивой функции печати для JSON, that feature is now included in out of the box javascript по JSON.stringify()'sspace argument. Для печати в HTML, wrapping the output with <pre> </pre> will preserve the line spacing для удобства чтения.

var obj = {a:1, 'b':'foo', c:[false,'false',null, 'null', {d:{e:1.3e5,f:'1.3e5'}}]}; 
var str = "<pre>" + JSON.stringify(obj, undefined, 4) + "</pre>"; 

/* Returns 
{ 
    "a": 1, 
    "b": "foo", 
    "c": [ 
     false, 
     "false", 
     null, 
     "null", 
     { 
      "d": { 
       "e": 130000, 
       "f": "1.3e5" 
      } 
     } 
    ] 
} 
*/ 
+1

Вопрос состоял в том, чтобы довольно печатать HTML, а не печатать JSON. –

+0

См. Примечание ниже моего ответа. –