2009-06-10 4 views
6

J'utilise jQuery. J'ai affaire à l'objet et au temps JSON et encore une fois j'ai besoin de regarder les données. Je fais alerte (données) et je n'ai rien d'utile.Le prototype a la méthode hash.inspect(). Quel est l'équivalent dans le monde jQuery?

Dans le monde des prototypes, ils ont une méthode d'inspection très utile. inspect method in Prototype

Je cherche une méthode équivalente dans jQuery. J'ai regardé l'API et n'ai rien trouvé. Je suis sûr que quelqu'un aurait développé un plugin pour résoudre ce problème.

+0

Juste pour le coup de pied de celui-ci. Quelle méthode utiliseriez-vous si vous voulez jeter un coup d'œil au contenu d'un tableau. –

Répondre

7

J'ai le meilleur résultat avec http://www.JSON.org/json2.js. Comme les docs disent:

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. 

comprennent seulement la bibliothèque et appeler alert(JSON.stringify(data)) pour voir une représentation lisible de votre objet.

+2

Pour tous ceux qui viennent à ce plusieurs années plus tard après que cette réponse a été postée, cette fonction est maintenant intégrée dans javascript , donc vous n'avez pas besoin d'inclure le fichier 'json2.js' mentionné (le lien est maintenant mort de toute façon). –

6

Vous pouvez utiliser la fonction jQuery.param, qui la formatera dans un format querystring.

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

Génial. Ça marche! –

+0

jQuery.param ne fonctionne pas pour array. log (jQuery.param (['a', 'b'])); # => undefined = undefined & undefined = undefined –

-5

Vous pouvez le faire aussi ...

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

L'appel de .toString() sur un objet JavaScript brut ne montre que "[object Object]", rien d'utile. – bdukes

+0

Idem. Appeler toString() n'aide pas. –

9

Si vous utilisez FireBug, vous pouvez simplement appeler console.log(myJsonObject), et Firebug vous donnera un bel affichage de votre objet JSON dans la console .

+0

J'irai aussi loin pour dire que c'est la meilleure façon de le faire car vous DEVRIEZ utiliser firebug: P – micmcg

4

De même, Firefox et d'autres navigateurs de qualité supportent la méthode Source() sur les objets et les fonctions.

alert(foo.toSource())

Questions connexes