Frage Wie kann ich ein JavaScript-Objekt anzeigen?


Wie zeige ich den Inhalt eines JavaScript-Objekts in einem String-Format wie bei uns an alert eine Variable?

Die gleiche formatierte Art, wie ich ein Objekt anzeigen möchte.


1256
2018-06-05 19:01


Ursprung


Antworten:


Mit Firefox

Wenn Sie das Objekt zu Debugzwecken drucken möchten, empfehle ich stattdessen die Installation Firebug für Firefox und mit dem Code:

console.log(obj)

Mit Chrome

var obj = {prop1: 'prop1Value', prop2: 'prop2Value', child: {childProp1: 'childProp1Value'}}
console.log(obj)

wird angezeigt

screenshot console chrome

Hinweis : du musst nur Protokolliere das Objekt. Zum Beispiel wird das nicht funktionieren:

console.log('My object : ' + obj)

750
2018-06-05 19:15



Verwenden Sie nativ JSON.stringify Methode. Funktioniert mit verschachtelten Objekten und allen gängigen Browsern Unterstützung diese Methode.

str = JSON.stringify(obj);
str = JSON.stringify(obj, null, 4); // (Optional) beautiful indented output.
console.log(str); // Logs output to dev tools console.
alert(str); // Displays output using window.alert()

Link zu Mozilla-API-Referenz und andere Beispiele.

obj = JSON.parse(str); // Reverses above operation (Just in case if needed.)

Benutze einen Brauch JSON.stringify Ersatz wenn du Dieser JavaScript-Fehler tritt auf

"Uncaught TypeError: Converting circular structure to JSON"

1720
2017-11-27 17:52



var output = '';
for (var property in object) {
  output += property + ': ' + object[property]+'; ';
}
alert(output);

367
2018-06-05 19:18



console.dir(object):

Zeigt eine interaktive Auflistung der Eigenschaften eines angegebenen JavaScript-Objekts an. In dieser Auflistung können Sie Dreiecke für die Offenlegung verwenden, um den Inhalt von untergeordneten Objekten zu untersuchen.

Notiere dass der console.dir() Feature ist nicht Standard. Sehen MDN-Webdokumente


95
2018-06-03 12:43



Versuche dies :

console.log(JSON.stringify(obj))

Dadurch wird die Stringify-Version des Objekts gedruckt. Also statt [object] Als Ausgabe erhalten Sie den Inhalt des Objekts.


66
2017-08-12 07:53



Naja, Firefox hat (dank @Bojangles für detaillierte Informationen) Object.toSource() Methode, die Objekte als JSON und function(){}.

Das reicht für die meisten Debugging-Zwecke, denke ich.


64
2018-06-05 19:04



Wenn Sie eine Warnung verwenden möchten, um Ihr Objekt zu drucken, können Sie Folgendes tun:

alert("myObject is " + myObject.toSource());

Es sollte jede Eigenschaft und ihren entsprechenden Wert im Zeichenfolgenformat drucken.


51
2017-09-09 07:15



Funktion:

var print = function(o){
    var str='';

    for(var p in o){
        if(typeof o[p] == 'string'){
            str+= p + ': ' + o[p]+'; </br>';
        }else{
            str+= p + ': { </br>' + print(o[p]) + '}';
        }
    }

    return str;
}

Verwendung:

var myObject = {
    name: 'Wilson Page',
    contact: {
        email: 'wilson@hotmail.com',
        tel: '123456789'
    }  
}

$('body').append( print(myObject) );

Beispiel:

http://jsfiddle.net/WilsonPage/6eqMn/


31
2017-11-16 14:37



In NodeJS können Sie ein Objekt mit verwenden util.inspect(obj). Stellen Sie sicher, dass Sie die Tiefe angeben oder dass das Objekt nur flach gedruckt wird.


31
2017-07-15 06:35