Imprimer JSON analysé objet?
J'ai un objet javascript qui a été JSON analysée à l'aide de JSON.parse
je veux maintenant l'impression de l'objet afin que je puisse le corriger (quelque chose va mal avec la fonction). Quand je fais la chose suivante...
for (property in obj) {
output += property + ': ' + obj[property]+'; ';
}
console.log(output);
Je obtenir plusieurs [object object] cotées en bourse. Je me demandais comment puis-je imprimer cela dans le but d'afficher le contenu?
- au passage, pour (propriété dans obj) la liste de toutes les propriétés, même celles héritées. De sorte que vous aurez beaucoup de superflu un cominng pour l'Objet.prototype et toute " la mère de la classe. C'est unconvenient avec des objets json. Vous avez à les filtrer avec hasOwnProperty() pour obtenir les propriétés que cet objet possède.
Vous devez vous connecter pour publier un commentaire.
Plus débogueur consoles en charge l'affichage des objets directement. Utilisez simplement
Selon votre débogueur ce sera très probablement de l'objet est affiché dans la console comme un effondrement de l'arbre. Vous pouvez ouvrir l'arbre et d'inspecter l'objet.
console.log("object: " + obj)
il n'affiche pas l'objet, mais à la place de la sortie "objet: [Object obj]".console.log("object: %o", obj)
(Firefox|Safari) vous donne accès à l'objet de détails, voir ma réponse ci-dessous.console.log("My object: ", obj)
console.log({obj})
. (meilleur que dans les mieux lisible de sortie et de moins en moins à écrire, mais encore clair syntaxe)Vous savez ce que JSON signifie? JavaScript Object Notation. Il fait un très bon format pour les objets.
JSON.stringify(obj)
va vous redonner une représentation de chaîne de l'objet.essayer
console.dir()
au lieu deconsole.log()
MDN dit
console.dir()
est pris en charge par:console.dir()
est également disponible dans FF8+, Opera, Chrome et Safari: developer.mozilla.org/en-US/docs/Web/API/console.dirSi vous voulez une jolie, multiline JSON avec l'indentation, alors vous pouvez utiliser
JSON.stringify
avec son 3ème argument:Par exemple:
ou
vous donnera le résultat suivant:
Dans un navigateur
console.log(obj)
n'est même meilleur travail, mais dans une console shell (node.js) il ne le fait pas.pour Imprimer JSON analysé objet de type
console.log( JSON.stringify(data, null, " ") );
et vous obtenez un résultat très clair
Utiliser un format de chaîne;
Chrome a Les Spécificateurs De Format avec la suivante;
%s
Formats de la valeur sous forme de chaîne de caractères.%d
ou%i
Formats de la valeurun entier.
%f
Formats de la valeur comme une valeur à virgule flottante.%o
Formats de la valeur comme une extensible élément du DOM (comme dans leLes éléments du panneau).
%O
Formats de la valeur comme une extensible JavaScriptobjet.
%c
Formats de la chaîne de sortie en fonction des styles CSS vousfournir.
Firefox a également Chaîne De Changements qui ont les mêmes options.
%o
Sorties d'un lien hypertexte vers un objet JavaScript. En cliquant sur le lien ouvre un inspecteur.%d
ou%i
Sorties d'un nombre entier. Le formatage n'est pas encore pris en charge.%s
Envoie une chaîne de caractères.%f
Sorties une valeur à virgule flottante. Le formatage n'est pas encore pris en charge.Safari a printf style de formateurs
%d
ou%i
Entier%[0.N]f
Valeur à virgule flottante avec N chiffres significatifs%o
Objet%s
ChaîneSimple fonction d'alerte de contenu d'un objet ou d'un tableau .
Appeler cette fonction avec un tableau ou une chaîne ou d'un objet, il avertit le contenu.
Fonction
Utilisation
Le code suivant affiche complet des données json dans la boîte d'alerte
Suffit d'utiliser
et vous obtiendrez ceci dans une console chromée :
Si vous souhaitez déboguer pourquoi ne pas utiliser la console de débogage
Agréable et simple: