Ich tue eine console.log-Anweisung in meinem Javascript, um ein Javascript-Objekt zu protokollieren. Ich frage mich, ob es eine Möglichkeit gibt, sobald das getan ist - um dieses Objekt als Javascript-Code zu kopieren. Was ich versuche zu tun ist, konvertieren ein Objekt, das mit Ajax erstellt wurde, um eine xml-Feed in ein statisches Javascript-Objekt zu parsen, so dass eine Datei lokal ausgeführt werden kann, ohne einen Server. Ich habe einen Screenshot des Objekts in der Chrome-Inspector-Fenster enthalten, so dass Sie sehen können, was ich zu tun versuche.
Antworten
Zu viele Anzeigen?Führen Sie die folgenden Schritte aus:
- Geben Sie das Objekt mit console.log in Ihrem Code aus, etwa so: console.log(myObject)
- Klicken Sie mit der rechten Maustaste auf das Objekt und dann auf "Als globales Objekt speichern". Chrome würde an dieser Stelle den Namen der Variablen ausgeben. Nehmen wir an, sie heißt "temp1".
- Geben Sie in der Konsole ein:
JSON.stringify(temp1)
. - An dieser Stelle wird das gesamte JSON-Objekt als Zeichenkette angezeigt, die Sie kopieren und einfügen können.
- Sie können Online-Tools verwenden wie http://www.jsoneditoronline.org/ um Ihren String an dieser Stelle zu verschönern.
Aktualisierung - Chrom 89
Rechtsklick -> Objekt kopieren
Quelle: ( https://developers.google.com/web/updates/2021/01/devtools?utm_source=devtools )
auch vom Debugger aus
Das hat mir tatsächlich geholfen, denn ich bin ein bisschen ein Sonderfall. Aber für das, was ich tue es funktioniert.
Die Geräte, auf denen ich teste, verwenden Safari-Debug-Tools, und ich kann die Objekte nie so kopieren wie in Chrome, indem ich einfach mit der rechten Maustaste klicke und das Objekt kopiere.
Versucht JSON.stringify und das Einfügen der Inhalte in https://beautifier.io aber dann müssen Sie versuchen, es neu zu formatieren.
Ich habe mich für den lokalen Speicher und die Kopiermethode entschieden.
Verwenden Sie in Ihrem Code.
localStorage.setItem('dataCopy', JSON.stringify(data));
Fügen Sie dies dann einfach in die Konsole ein und klicken Sie auf Enter.
copy(JSON.parse(window.localStorage.dataCopy))
Sie haben dann eine Reihe von Objekten in der Zwischenablage.
Dies sollte helfen, tiefe Objekte zu stringifizieren, indem rekursive Window
y Node
Objekte.
function stringifyObject(e) {
const obj = {};
for (let k in e) {
obj[k] = e[k];
}
return JSON.stringify(obj, (k, v) => {
if (v instanceof Node) return 'Node';
if (v instanceof Window) return 'Window';
return v;
}, ' ');
}