जावास्क्रिप्ट / क्रोम - कोड के रूप में वेबकिट निरीक्षक से एक वस्तु की प्रतिलिपि कैसे करें


491

मैं जावास्क्रिप्ट ऑब्जेक्ट को लॉग करने के लिए अपनी जावास्क्रिप्ट में एक कंसोल.लॉग स्टेटमेंट कर रहा हूं। मुझे आश्चर्य हो रहा है कि एक तरह से, एक बार जो किया गया है - उस वस्तु को जावास्क्रिप्ट कोड के रूप में कॉपी करने के लिए। मैं जो करने की कोशिश कर रहा हूं वह एक ऐसी वस्तु को रूपांतरित करने के लिए किया गया था, जिसे एक्सएक्सएक्स फीड को स्टेटिक जावास्क्रिप्ट ऑब्जेक्ट में पार्स करने के लिए अजाक्स का उपयोग करके बनाया गया था ताकि एक फ़ाइल स्थानीय रूप से, बिना सर्वर के चल सके। मैंने क्रोम इंस्पेक्टर विंडो में ऑब्जेक्ट का स्क्रीनशॉट शामिल किया है ताकि आप देख सकें कि मैं क्या करने की कोशिश कर रहा हूं।यहाँ छवि विवरण दर्ज करें


1
फ़ायरफ़ॉक्स और विकल्प .toSource () का उपयोग करने का प्रयास करें। यह आसान है
chepe263

जवाबों:


1245
  1. Chrome के कंसोल में ऑब्जेक्ट को राइट-क्लिक करें और Store as Global Variableसंदर्भ मेनू से चुनें। यह temp1चर नाम की तरह कुछ लौटाएगा ।

  2. क्रोम में भी एक copy()विधि है, इसलिए copy(temp1)कंसोल में उस ऑब्जेक्ट को अपने क्लिपबोर्ड पर कॉपी करना चाहिए।

Chrome DevTools में जावास्क्रिप्ट ऑब्जेक्ट कॉपी करें

पुनरावर्ती वस्तुओं पर ध्यान दें: यदि आप एक पुनरावर्ती वस्तु की प्रतिलिपि बनाने की कोशिश कर रहे हैं, तो आपको मिलेगा [object Object]। जिस तरह से बाहर है copy(JSON.stringify(temp1)), ऑब्जेक्ट पूरी तरह से वैध JSON के रूप में आपके क्लिपबोर्ड पर कॉपी किया जाएगा, इसलिए आप कई संसाधनों में से एक का उपयोग करके, इसे अपनी इच्छानुसार प्रारूपित कर पाएंगे।


3
क्रोम संस्करण में अपरिभाषित वापसी 49.0.2623.87 (64-बिट)? क्यों>
परदीप जैन

10
@PardeepJain - जो कॉपी () विधि से अपेक्षित है क्योंकि वहाँ लौटने के लिए कुछ भी नहीं है। डेटा आपके क्लिपबोर्ड में होना चाहिए।
कार्ल

35
यह सिर्फ [object Object]मेरे लिए देता है।
उल्लालुल्लो

1
@Ullallulloo JSON.stringify के साथ लॉग आउट करने का प्रयास करें: stackoverflow.com/a/4293047/622287
kevnk

3
यह केवल तभी काम करता है जब आपके पास उथली जेएस वस्तु होती है, यदि आपके पास पुनरावर्ती गहरी वस्तु है तो क्या आप [वस्तु वस्तु] प्राप्त करेंगे - यह अपेक्षित है
मारवेन ट्रैबेलसी

62

कोशिश करो JSON.stringify()। परिणामी स्ट्रिंग की प्रतिलिपि बनाएँ। परिपत्र संदर्भ वाली वस्तुओं के साथ काम नहीं करता है।


7
जब तक आप उस कोड को संशोधित नहीं करते, मैं यह नहीं देखता कि वह कैसे काम करेगा।
21

16
मुझे मिलता हैTypeError: Converting circular structure to JSON
टोनी ब्रासुनस

40

आप कॉपी (JSON.stringify (Object_Name)) का उपयोग करके अपने क्लिप बोर्ड पर ऑब्जेक्ट कॉपी कर सकते हैं ; कंसोल में।

जैसे: - अपने कंसोल में नीचे दिए गए कोड को कॉपी और पेस्ट करें और ENTER दबाएँ। अब, पेस्ट करने का प्रयास करें (CTRL + V विंडोज के लिए या CMD + V मैक के लिए) इसे कुछ और जहां आपको मिलेगा {"नाम": "डैनियल", "आयु": 25}

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

copy(JSON.stringify(profile));

14
DOM नोड्स, विंडो या किसी अन्य ऑब्जेक्ट के साथ काम नहीं करता है जो कि यह गोलाकार है
Carles Alcolea

अब तक एक बड़ी लेकिन सरल वस्तु के लिए सबसे आसान समाधान।
हर्षेई

सबसे आसान उपाय
आनंदकृष्ण वीआर

26

अब आप क्रोम पर राइट क्लिक करके ऑब्जेक्ट पर क्लिक कर सकते हैं और "Store as Global Variable" का चयन कर सकते हैं: http://www.youtube.com/watch?v=qALFiTlVWdg

यहाँ छवि विवरण दर्ज करें


2
संस्करण 39.0.2171.95 के अनुसार, Chrome के साथ Android उपकरणों का निरीक्षण करते समय "ग्लोबल वेरिएबल के रूप में स्टोर" विकल्प उपलब्ध नहीं है।
वाल्टर रोमन

1
@ दाविद कलहौं, मैंने आपके जवाब के लिए मतदान किया। ऐसा लगता है कि आपका उत्तर 12 जून 2014 को पोस्ट किया गया था और स्वीकार किया गया था कि अगस्त 5, 2014, मोटे तौर पर वही था जो आपके पास था। मुझे यह स्वीकार करना होगा कि वह temp1 का उल्लेख करता है, जहां आपका उत्तर केवल आपके वीडियो में दिखाई देता है, इसलिए शायद इसीलिए दूसरे उत्तर को स्वीकार किया गया। शुभकामनाएँ।
पाट्स

13

निम्नलिखित चरणों का पालन करें:

  1. अपने कोड से कंसोल.लॉग के साथ ऑब्जेक्ट को आउटपुट करें, जैसे: कंसोल.लॉग (myObject)
  2. ऑब्जेक्ट पर राइट क्लिक करें और "स्टोर ऑन ग्लोबल ऑब्जेक्ट" पर क्लिक करें। Chrome इस बिंदु पर चर का नाम प्रिंट करेगा। मान लेते हैं कि इसे "temp1" कहा जाता है।
  3. कंसोल में, टाइप करें JSON.stringify(temp1):।
  4. इस बिंदु पर आप संपूर्ण JSON ऑब्जेक्ट को एक स्ट्रिंग के रूप में देखेंगे जिसे आप कॉपी / पेस्ट कर सकते हैं।
  5. इस बिंदु पर अपने स्ट्रिंग को प्रीफेक्ट करने के लिए आप http://www.jsoneditoronline.org/ जैसे ऑनलाइन टूल का उपयोग कर सकते हैं ।

JSON.stringify (temp1) के साथ कदम लंबे समय तक निष्पादन को प्रभावित कर सकता है यदि ऑब्जेक्ट बड़ा है।
हीरोइन

@JoeTidee मेरे पास एक ही मुद्दा था, लेकिन मैंने एक debuggerस्टेटमेंट सेट किया और फिर ब्रेकपॉइंट पर कंसोल से सीधे अपने संस्करण को पुनः प्राप्त किया।
टोनी ब्रजुनस

11

यदि आपने किसी अनुरोध पर ऑब्जेक्ट भेजा है तो आप इसे Chrome -> नेटवर्क टैब से कॉपी कर सकते हैं।

पेलोड का अनुरोध -> स्रोत देखें

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें


2
पार्स किए गए पेलोड को कॉपी करने के बाद, आप jsonformatter.curiousconcept.com से json को फॉर्मेट कर सकते हैं ।
मुहम्मद हसन

0

"स्टोर के रूप में एक ग्लोबल वेरिएबल" के रूप में उपयोग करने पर यह काम करता है, लेकिन इसे केवल ऑब्जेक्ट का अंतिम उदाहरण मिलता है, न कि उस समय जिस ऑब्जेक्ट को लॉग किया जा रहा है (चूंकि आप ऑब्जेक्ट के परिवर्तनों की तुलना करना चाहते हैं क्योंकि वे होते हैं)। संशोधित होने के समय इसके सटीक बिंदु पर वस्तु प्राप्त करने के लिए, मैं इसका उपयोग करता हूं ...

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

इसे ऐसे ही कॉल करें ...

logObject(puzzle);

यदि आपका डेटा इसमें अल्पविराम के लिए होता है, तो आप .replace (/./ g, ", \ n") regex को हटाना चाह सकते हैं।


0

इसलिए,। मेरे पास यह मुद्दा था,। सिवाय मुझे मिला [वस्तु वस्तु]

मुझे यकीन है कि आप इसे पुनरावृत्ति के साथ कर सकते हैं लेकिन यह मेरे लिए काम कर रहा है:

यहाँ मैंने अपने कंसोल में क्या किया है:

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

यह पुनरावर्ती 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

उस डेटा पर राइट क्लिक करें जिसे आप स्टोर करना चाहते हैं

  • सबसे पहले, उस डेटा पर राइट क्लिक करें जिसे आप स्टोर करना चाहते हैं -> "ग्लोबल वैरिएबल के रूप में स्टोर करें" का चयन करें और नया टेम्प्लेट वेरिएबल जैसे दिखे: (टेम्पो वेरिएबल): कंसोल में नया वेरिएबल दिखाई देता है
  • दूसरा उपयोग कमांड कॉपी (temp_variable_name) चित्र की तरह: यहां छवि विवरण दर्ज करें। इसके बाद, आप डेटा को कहीं भी पेस्ट कर सकते हैं। आशा है कि उपयोगी /

0

इसे अपने कंसोल में जोड़ें और निष्पादित करें

copy(JSON.stringify(foo));

यह आपके JSON को क्लिपबोर्ड पर कॉपी करता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.