2009-06-10 5 views
6

Estoy usando jQuery. Estoy tratando con el objeto JSON y una y otra vez necesito ver los datos. Hago alerta (datos) y no consigo nada útil.El prototipo tiene el método hash.inspect(). ¿Cuál es el equivalente en jQuery World?

En el mundo Prototype tienen un método de inspección que es muy útil. inspect method in Prototype

Estoy buscando un método equivalente en jQuery. Miré la API y no pude encontrar nada. Estoy seguro de que alguien habría desarrollado algún complemento para resolver este problema.

+0

Solo por el placer de hacerlo. ¿Qué método usarías si deseas echar un vistazo al contenido de una matriz? –

Respuesta

7

que tienen el mejor resultado con http://www.JSON.org/json2.js. A medida que los documentos dicen:

JSON.stringify(value, replacer, space) 
     value  any JavaScript value, usually an object or array. 

     replacer an optional parameter that determines how object 
        values are stringified for objects. It can be a 
        function or an array of strings. 

     space  an optional parameter that specifies the indentation 
        of nested structures. If it is omitted, the text will 
        be packed without extra whitespace. If it is a number, 
        it will specify the number of spaces to indent at each 
        level. If it is a string (such as '\t' or ' '), 
        it contains the characters used to indent at each level. 

basta con incluir la biblioteca y llamar alert(JSON.stringify(data)) para ver una representación legible de su objeto.

+2

Para cualquiera que venga a esto varios años después de que esta respuesta se publicó originalmente, esta función ahora está incorporada en javascript , por lo que no es necesario que incluya el archivo 'json2.js' mencionado (el enlace ahora está muerto de todos modos). –

6

Puede usar la función jQuery.param, que lo formateará en un formato querystring.

alert(jQuery.param({ width:1680, height:1050 })); 
// shows "width=1680&height=1050" 
+0

Impresionante. ¡Funciona! –

+0

jQuery.param no funciona para array. log (jQuery.param (['a', 'b'])); # => undefined = undefined & undefined = undefined –

-5

Usted puede hacer esto, también ...

$.getJSON("some/url/here", { /* optional params */ }, function(json) { 
    alert("get returned: " + json.toString()); 
}); 
+1

Llamar a .toString() en un objeto JavaScript simple solo muestra "[object Object]", nada útil. – bdukes

+0

Ídem. Llamar a String() no ayuda. –

9

Si está utilizando FireBug, sólo puede llamar a console.log(myJsonObject) y FireBug le dará una buena muestra de su objeto JSON en la consola .

+0

Iré tan lejos como para decir que esta es la mejor manera de hacerlo porque DEBERÍA estar usando Firebug: P – micmcg

4

Además, Firefox y otros buenos navegadores son compatibles con el método Source() en objetos y funciones.

alert(foo.toSource())

Cuestiones relacionadas