1. ホーム
  2. javascript

[解決済み] Javascript / Chrome - webkitインスペクタからオブジェクトをコードとしてコピーする方法

2022-03-16 15:35:11

質問

javascriptでconsole.logステートメントを使用して、javascriptオブジェクトをログに記録しています。そのオブジェクトをjavascriptのコードとしてコピーする方法はないでしょうか?私がしようとしているのは、xmlフィードをパースするためにajaxを使用して作成されたオブジェクトを、静的なjavascriptオブジェクトに変換し、サーバーなしでローカルにファイルを実行できるようにすることです。私が何をしようとしているのか分かるように、クロームのインスペクタウィンドウにあるオブジェクトのスクリーンショットを添付しました。

どのように解決するのですか?

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

  2. また、Chromeは copy() というメソッドがあるので copy(temp1) を実行すると、そのオブジェクトがクリップボードにコピーされるはずです。

再帰的オブジェクトに関する注意事項。 再帰的なオブジェクトをコピーしようとした場合、次のようになります。 [object Object] . 解決策としては copy(JSON.stringify(temp1)) オブジェクトは有効なJSONとしてクリップボードに完全にコピーされるので、多くのリソースの中から好きなものを使ってフォーマットすることができます。

を取得した場合 Uncaught TypeError: Converting circular structure to JSON というメッセージが表示されたら JSON.stringify の第2引数(これはフィルタ関数です)を使って、問題のある循環プロパティをフィルタリングすることができます。これを見てください。 スタックオーバーフローの回答 をご覧ください。