wake-up-neo.com

Javascript/Chrome - So kopieren Sie ein Objekt aus dem Webkit-Inspektor als Code

Ich mache eine console.log-Anweisung in meinem Javascript, um ein Javascript-Objekt zu protokollieren. Ich frage mich, ob es einen Weg gibt, sobald das erledigt ist - das Objekt als Javascript-Code zu kopieren. Was ich versuche zu tun, ist ein Objekt zu konvertieren, das mit ajax erstellt wurde, um einen XML-Feed in ein statisches Javascript-Objekt zu analysieren, sodass eine Datei lokal ohne Server ausgeführt werden kann. Ich habe einen Screenshot des Objekts im Chrome Inspector-Fenster eingefügt, damit Sie sehen können, was ich versuche.enter image description here

296
mheavers
  1. Klicken Sie mit der rechten Maustaste auf ein Objekt in der Chrome-Konsole und wählen Sie Store as Global Variable aus dem Kontextmenü. Es wird etwas wie temp1 als Variablenname zurückgegeben.

  2. Chrome verfügt auch über eine copy()-Methode. Daher sollte copy(temp1) in der Konsole dieses Objekt in die Zwischenablage kopieren.

 Copy Javascript Object in Chrome DevTools

Hinweis zu rekursiven Objekten: Wenn Sie versuchen, ein rekursives Objekt zu kopieren, erhalten Sie [object Object]. Dies ist zu erwarten.

750
kevnk

Versuchen Sie JSON.stringify() . Kopieren Sie die resultierende Zeichenfolge.

45
Salman A

Sie können ein Objekt mit copy in Ihre Zwischenablage kopieren (JSON.stringify (Object_Name)); in der Konsole.

ZB: - Kopieren Sie den folgenden Code in Ihre Konsole und drücken Sie ENTER. Versuchen Sie nun, es an einer anderen Stelle (Strg + V) einzufügen, und Sie erhalten {"Name": "Daniel", "Alter": 25}

var profile = {
    name: "Daniel",
    age: 25
};

copy(JSON.stringify(profile));
25
Sudharshan

Sie können dies nun in Chrome durchführen, indem Sie mit der rechten Maustaste auf das Objekt klicken und "Als globale Variable speichern" auswählen: http://www.youtube.com/watch?v=qALFiTlVWdg

 enter image description here

23
David Calhoun

Folgen Sie den folgenden Schritten: 

  1. Geben Sie das Objekt mit console.log wie folgt aus Ihrem Code aus: console.log (myObject)
  2. Klicken Sie mit der rechten Maustaste auf das Objekt und klicken Sie auf "Als globales Objekt speichern". Chrome würde an dieser Stelle den Namen der Variablen ausgeben. Nehmen wir an, es heißt "temp1".
  3. Geben Sie in der Konsole Folgendes ein: JSON.stringify(temp1).
  4. An dieser Stelle sehen Sie das gesamte JSON-Objekt als eine Zeichenfolge, die Sie kopieren/einfügen können.
  5. Sie können Online-Tools wie http://www.jsoneditoronline.org/ verwenden, um Ihre Zeichenfolge an dieser Stelle festzulegen.
9
sufinawaz

Wenn Sie das Objekt über eine Anfrage gesendet haben, können Sie es über die Registerkarte Chrome -> Netzwerk kopieren. 

Payload anfordern -> Quelle anzeigen

enter image description here

enter image description here

Die Verwendung von "Als globale Variable speichern" funktioniert zwar, es wird jedoch nur die letzte Instanz des Objekts abgerufen, nicht der Moment, in dem das Objekt protokolliert wird (da Sie wahrscheinlich Änderungen am Objekt vergleichen möchten, sobald sie stattfinden). Um das Objekt zum genauen Zeitpunkt der Änderung zu erhalten, verwende ich Folgendes ...

function logObject(object) {
    console.info(JSON.stringify(object).replace(/,/g, ",\n"));
}

Nenne es so ...

logObject(puzzle);

Möglicherweise möchten Sie die .replace (/./g, ",\n") -Regex entfernen, wenn Ihre Daten zufällig ein Komma enthalten.

0
HoldOffHunger

Dies sollte helfen, tiefe Objekte zu stringifizieren, indem die rekursiven Objekte Window und Node weggelassen werden.

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;
  }, ' ');
}
0
dummker

Klicken Sie mit der rechten Maustaste auf die Daten, die Sie speichern möchten

  • Klicken Sie zunächst mit der rechten Maustaste auf die Daten, die Sie speichern möchten -> wählen Sie "Als globale Variable speichern". Die neue temporäre Variable wird wie folgt angezeigt: (temporäre Variable 3): Neue temporäre Variable wird in der Konsole angezeigt
  • Verwenden Sie als zweites den Befehl copy (temp_variable_name) wie in Bild: geben Sie hier die Bildbeschreibung ein Danach können Sie Daten an einer beliebigen Stelle einfügen. hoffe nützlich /
0
Neo_

So,. Ich hatte dieses Problem. außer ich habe [Objekt Objekt]

Ich bin sicher, dass Sie dies mit Rekursion tun könnten, aber das hat für mich funktioniert:

Folgendes habe ich in meiner Konsole gemacht:

var object_that_is_not_shallow = $("all_obects_with_this_class_name");
var str = '';
object_that_is_not_shallow.map(function(_,e){
    str += $(e).html();
});
copy(str);

Dann fügen Sie sie in Ihren Editor ein.

0
twalow