javascriptオブジェクトをログに記録するために、javascriptでconsole.logステートメントを実行しています。それが終わったら、そのオブジェクトをjavascriptコードとしてコピーする方法があるかどうか疑問に思っています。私がやろうとしているのは、ajaxを使用して作成されたオブジェクトを変換してxmlフィードを静的なjavascriptオブジェクトに変換し、サーバーなしでファイルをローカルで実行できるようにすることです。オブジェクトのスクリーンショットをChromeインスペクターウィンドウに含めたので、私が何をしようとしているのかがわかります。
14 に答える
Chromeのコンソールでオブジェクトを右クリック
Store as Global Variable
し、コンテキストメニューから選択します。temp1
変数名のようなものを返します。Chromeにも
copy()
メソッドがあるためcopy(temp1)
、コンソールでそのオブジェクトをクリップボードにコピーする必要があります。
再帰オブジェクトに関する注意:再帰オブジェクトをコピーしようとすると、が取得されます[object Object]
。試してみるcopy(JSON.stringify(temp1))
と、オブジェクトは有効なJSONとしてクリップボードに完全にコピーされるため、多くのリソースの1つを使用して、必要に応じてフォーマットすることができます。
Uncaught TypeError: Converting circular structure to JSON
メッセージが表示されたら、JSON.stringify
の2番目の引数(フィルター関数)を使用して、問題のある循環プロパティをフィルターで除外できます。詳細については、このStackOverflowの回答を参照してください。
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));
これで、オブジェクトを右クリックして[グローバル変数として保存]を選択することで、Chromeでこれを実行できます:http ://www.youtube.com/watch?v = qALFiTlVWdg
次の手順に従います。
- 次のように、コードからconsole.logを使用してオブジェクトを出力します。console.log(myObject)
- オブジェクトを右クリックし、[グローバルオブジェクトとして保存]をクリックします。Chromeは、この時点で変数の名前を出力します。それが「temp1」と呼ばれていると仮定しましょう。
- コンソールで、次のように入力します
JSON.stringify(temp1)
。 - この時点で、JSONオブジェクト全体がコピー/貼り付け可能な文字列として表示されます。
- http://www.jsoneditoronline.org/などのオンラインツールを使用して、この時点で文字列をきれいにすることができます。
リクエストを介してオブジェクトを送信した場合は、[Chrome]->[ネットワーク]タブからオブジェクトをコピーできます。
ペイロードのリクエスト->ソースの表示
アップデート-Chrome89
右クリック->オブジェクトのコピー
ソース:(https://developers.google.com/web/updates/2021/01/devtools?utm_source=devtools)
デバッガーからも
オブジェクトを文字列としてコンソール化できます
var objToString = JSON.stringify(obj)
console.log(objToString );
次に、メモ帳++のようなエディターで、出力を貼り付けてから、プラグイン形式をehitします。
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;
}, ' ');
}
- まず、保存したいデータを右クリック->「グローバル変数として保存」を選択すると、新しい一時変数が次のように表示されます:(temp3変数): 新しい一時変数がコンソールに表示されます
- 次に、画像のようなコマンドcopy(temp_variable_name)を使用 します。ここに画像の説明を入力 します。その後、データを任意の場所に貼り付けることができます。役に立つことを願っています/
これは実際に私を助けてくれました。しかし、私がやっていることはうまくいきます。
私がテストしているデバイスはsafariデバッグツールを使用しており、Chromeでオブジェクトを右クリックしてコピーする場合のように、オブジェクトをコピーすることはできません。
JSON.stringifyを試し、コンテンツをhttps://beautifier.ioに貼り付けましたが、再フォーマットする必要があります。
結局、ローカルストレージとコピー方式を使用することになりました。
コードで使用します。
localStorage.setItem('dataCopy', JSON.stringify(data));
次に、これをコンソールに貼り付けて、Enterをクリックします。
copy(JSON.parse(window.localStorage.dataCopy))
次に、クリップボードにオブジェクトの配列があります。
「グローバル変数として保存」の使用は機能しますが、オブジェクトの最終インスタンスのみを取得し、オブジェクトがログに記録された瞬間は取得しません(オブジェクトへの変更が発生したときに比較したい場合があるため)。変更された正確な時点でオブジェクトを取得するには、これを使用します...
function logObject(object) {
console.info(JSON.stringify(object).replace(/,/g, ",\n"));
}
そのように呼んでください...
logObject(puzzle);
データにカンマが含まれている場合は、.replace(/./ g、 "、\ n")正規表現を削除することをお勧めします。
それで、。この問題が発生しました。[オブジェクトオブジェクト]を取得した以外は
再帰でこれを行うことができると確信していますが、これは私にとってはうまくいきました:
これが私のコンソールでしたことです:
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);
次に、エディターに貼り付けます。
これをコンソールに追加して実行します
copy(JSON.stringify(foo));
これにより、JSONがクリップボードにコピーされます