La lettura di un oggetto JavaScript
-
08-10-2019 - |
Domanda
Come faccio a leggere un oggetto JavaScript quando non so che cosa è in esso?
Ho lavorato su node.js e ho una variabile per la quale io davvero non so cosa c'è dentro. Quando provo sys.puts:
sys.puts(headers) // returns [object Object]
Se ci fosse qualcosa di simile a un print_r in javascript, che sarebbe stato bene.
Soluzione
La maggior parte dei browser web possono utilizzare il JSON-oggetto per stampare il contenuto di un oggetto,
writeln(JSON.stringify(your_object));
Se non funziona, è possibile creare il proprio stringifier;
var stringify = function(current) {
if (typeof current != 'object')
return current;
var contents = '{';
for (property in current) {
contents += property + ": " + stringify(current[property]) + ", ";
}
return contents.substring(0, contents.length - 2) + "}";
}
var my_object = {my_string: 'One', another_object: {extra: 'Two'}};
writeln(stringify(my_object));
Altri suggerimenti
È possibile loop su sue proprietà con
for (var item in headers)
{
// item is the name of the property
// headers[item] is the value
}
http://www.jsfiddle.net/gaby/CVJry/3/ (console richiede )
Se si desidera limitare i risultati alle proprietà diretta ( non ereditate attraverso la catena di prototipi ) quindi utilizzare anche la hasOwnProperty
metodo.
è possibile scorrere l'oggetto di conoscere le sue proprietà e i loro valori
Supponiamo che il vostro oggetto è
var emp = {
name:'abc',
age:12,
designation:'A'
}
Ora è possibile leggere i dettagli in JS
for(property in emp ){
alert(emp[property] + " " +property);
}
Se hai piromane in aggiunta nel tuo browser Firefox, aprirlo e scrittura sia nella finestra di JS o JS nella console di Firebug.
console.log(a);
Se avete bisogno solo per controllare cosa c'è in un oggetto (ad esempio, è relativo al sistema per qualche ragione, ma non è necessario che la funzionalità nello script), si può semplicemente utilizzare Firebug per ottenere l'oggetto e verificare esattamente cosa c'è dentro.