web-dev-qa-db-ja.com

Javascript / Chrome - Webkitインスペクタからオブジェクトをコードとしてコピーする方法

私は、JavaScriptオブジェクトをログに記録するために、JavaScriptでconsole.logステートメントを実行しています。そのオブジェクトがJavaScriptコードとしてコピーされるようになったら、どうすればよいのでしょうか。私がやろうとしているのは、ファイルがサーバーなしでローカルに実行できるように、XMLフィードを解析するためにajaxを使用して作成されたオブジェクトを静的なjavascriptオブジェクトに変換することです。あなたが私がやろうとしていることを見ることができるように、私はクロムインスペクタウィンドウにオブジェクトのスクリーンショットを含めました。enter image description here

345
mheavers
  1. Chromeのコンソールでオブジェクトを右クリックして、コンテキストメニューからStore as Global Variableを選択します。変数名としてtemp1のようなものを返します。

  2. Chromeにもcopy()メソッドがあるので、コンソールのcopy(temp1)はそのオブジェクトをあなたのクリップボードにコピーするべきです。

Copy Javascript Object in Chrome DevTools

再帰的オブジェクトに関するメモ:再帰的オブジェクトをコピーしようとすると、[object Object]が返されます。これは予想されることです。

856
kevnk

JSON.stringify() を試してください。結果の文字列をコピーします。

47
Salman A

コンソールでcopy(JSON.stringify(Object_Name));を使用して、オブジェクトをクリップボードにコピーできます。

例: - コンソールに以下のコードをコピーして貼り付け、Enterキーを押します。それでは、(Windowsの場合はCTRL + V、Macの場合はCMD + V)貼り付けてみてください。{"name": "Daniel"、 "age":25}

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

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

オブジェクトを右クリックして[グローバル変数として保存]を選択すると、Chromeでこれを実現できます。 http://www.youtube.com/watch?v=qALFiTlVWdg

enter image description here

24
David Calhoun

以下の手順に従ってください。

  1. 次のように、コードからconsole.logを使用してオブジェクトを出力します。console.log(myObject)
  2. オブジェクトを右クリックして[グローバルオブジェクトとして保存]をクリックします。 Chromeはこの時点で変数の名前を表示します。それが "temp1"と呼ばれると仮定しましょう。
  3. コンソールに「JSON.stringify(temp1)」と入力します。
  4. この時点で、JSONオブジェクト全体がコピー/貼り付け可能な文字列として表示されます。
  5. あなたは http://www.jsoneditoronline.org/ のようなオンラインツールを使ってこの時点であなたの文字列をきれいにすることができます。
11
sufinawaz

オブジェクトをリクエストで送信した場合は、[Chrome] - > [ネットワーク]タブからコピーできます。

ペイロードを要求 - >ソースを表示

enter image description here

enter image description here

「グローバル変数として保存」を使用しても機能しますが、オブジェクトの最終インスタンスのみが取得され、オブジェクトがログに記録されている瞬間は取得されません。変更された時点の正確な時点でオブジェクトを取得するには、これを使用します。

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

こんな感じで….

logObject(puzzle);

データにカンマが含まれている場合は、.replace(/./ g、 "、\ n")正規表現を削除してください。

0
HoldOffHunger

これは、再帰的なWindowおよびNodeオブジェクトを除外することで、深いオブジェクトを文字列化するのに役立ちます。

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

保存したいデータを右クリック

0
Neo_

そう、。私はこの問題を抱えていました。私が得た以外は[オブジェクトオブジェクト]

私はあなたが再帰でこれをすることができると確信しています、しかしこれは私のために働きました:

これが私のコンソールでしたことです。

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);

次にエディタに貼り付けます。

0
twalow