JSON से स्ट्रिंग चर डंप


82

क्या JSON ऑब्जेक्ट्स को jQuery getJSONस्ट्रिंग चर डंप (अनुरेखण / डिबगिंग उद्देश्यों के लिए) के माध्यम से प्राप्त करने के लिए एक त्वरित कार्य है ?


5
मूर्खतापूर्ण प्रश्न - इसे स्पैम के रूप में क्यों चिह्नित किया गया था?
इना

1
उसी कारण से मेरे प्रश्न डाउन-वोट हो जाते हैं, कभी-कभी उपयोगकर्ता अपने क्लिक के साथ गलत होते हैं!
टोनी लेह

जवाबों:


121

हां, यहांJSON.stringify पाया जा सकता है , यह फ़ायरफ़ॉक्स 3.5.4 और इसके बाद के संस्करण में शामिल है।

एक JSON स्ट्रिंगर विपरीत दिशा में जाता है, जावास्क्रिप्ट डेटा संरचनाओं को JSON टेक्स्ट में परिवर्तित करता है। JSON चक्रीय डेटा संरचनाओं का समर्थन नहीं करता है, इसलिए JSON स्ट्रिंगर को चक्रीय संरचनाएं न देने के लिए सावधान रहें। https://web.archive.org/web/20100611210643/http://www.json.org/js.html

var myJSONText = JSON.stringify(myObject, replacer);

1
यह क्रोम में भी शामिल है, लेकिन आपने उस json.org लिंक पर एक (विशाल) 404 प्राप्त किया है
डीन राथर

1
यदि आप केवल इसके साथ डेटा लॉग करना चाहते हैं: कंसोल.लॉग (JSON.stringify (डेटा, शून्य)); यदि आपको एक प्रतिस्थापन फ़ंक्शन की आवश्यकता नहीं है, तो पास करें!
elliotrock

29

आप console.log()इस तरह से एक अच्छी वस्तु दृश्य प्राप्त करने के लिए फायरबग या क्रोम में उपयोग कर सकते हैं :

$.getJSON('my.json', function(data) {
  console.log(data);
});

यदि आप केवल स्ट्रिंग देखना चाहते हैं , तो देखें तो सर्वर से वास्तविक स्ट्रिंग प्रतिक्रिया (इसे परिवर्तित करने की आवश्यकता नहीं है ... आपको इसे इस तरह प्राप्त हुआ है) देखने के लिए क्रोम में संसाधन दृश्य या फायरबग में नेट दृश्य देखें।

यदि आप उस तार को ले जाना चाहते हैं और इसे आसानी से देखने के लिए तोड़ते हैं, तो यहां एक उत्कृष्ट उपकरण है: http://json.parser.onf.fr/


यह एक त्रुटि हैंडलर जोड़ने के लिए उपयोगी है अन्यथा getJSONचुपचाप विफल हो जाएगा और आप यह समझने के लिए संघर्ष करेंगे कि यह काम क्यों नहीं करता है: जोड़ें .fail(function(jqxhr, status, error) { alert(status + ", " + error);})
स्किप्पी ले ग्रैंड गौरौ

13

मैं व्यक्तिगत रूप से jquery डंप प्लगइन अलॉट का उपयोग ऑब्जेक्ट्स को डंप करने के लिए करता हूं , यह php के print_r () फ़ंक्शन के समान थोड़ा सा है:

var obj = {
            hubba: "Some string...",
            bubba: 12.5,
            dubba: ["One", "Two", "Three"]
        }
$("#dump").append($.dump(obj));
/* will return:
Object { 
     hubba: "Some string..."
     bubba: 12.5
     dubba: Array ( 
          0 => "One"
          1 => "Two"
          2 => "Three"
     )
}
*/

इसका बहुत ही मानव पठनीय है, मैं भी इस साइट की सलाह देता हूं http://json.parser.online.fr/ बनाने / पार्सिंग / पढ़ने के लिए json, क्योंकि इसमें अच्छे रंग हैं


1
यह वास्तव में बहुत अच्छा है, लेकिन इसे
ina

हाँ, मुझे पता है ... लेकिन जब मैं जवाब की तलाश करता हूं तो मुझे अक्सर जवाब में कुछ उपयोगी लगता है क्योंकि मेरी समस्या समस्या से संबंधित है। यह प्लगइन वास्तव में थोड़ा अधिक हो सकता है जब आपको बस एक साधारण समस्या है: P
Ties

4

यहाँ मैं उपयोग कोड है। आपको इसे अपनी आवश्यकताओं के अनुकूल बनाने में सक्षम होना चाहिए।

function process_test_json() {
  var jsonDataArr = { "Errors":[],"Success":true,"Data":{"step0":{"collectionNameStr":"dei_ideas_org_Private","url_root":"http:\/\/192.168.1.128:8500\/dei-ideas_org\/","collectionPathStr":"C:\\ColdFusion8\\wwwroot\\dei-ideas_org\\wwwrootchapter0-2\\verity_collections\\","writeVerityLastFileNameStr":"C:\\ColdFusion8\\wwwroot\\dei-ideas_org\\wwwroot\\chapter0-2\\VerityLastFileName.txt","doneFlag":false,"state_dbrec":{},"errorMsgStr":"","fileroot":"C:\\ColdFusion8\\wwwroot\\dei-ideas_org\\wwwroot"}}};

  var htmlStr= "<h3 class='recurse_title'>[jsonDataArr] struct is</h3> " + recurse( jsonDataArr );
  alert( htmlStr );
  $( document.createElement('div') ).attr( "class", "main_div").html( htmlStr ).appendTo('div#out');
  $("div#outAsHtml").text( $("div#out").html() ); 
}
function recurse( data ) {
  var htmlRetStr = "<ul class='recurseObj' >"; 
  for (var key in data) {
        if (typeof(data[key])== 'object' && data[key] != null) {
            htmlRetStr += "<li class='keyObj' ><strong>" + key + ":</strong><ul class='recurseSubObj' >";
            htmlRetStr += recurse( data[key] );
            htmlRetStr += '</ul  ></li   >';
        } else {
            htmlRetStr += ("<li class='keyStr' ><strong>" + key + ': </strong>&quot;' + data[key] + '&quot;</li  >' );
        }
  };
  htmlRetStr += '</ul >';    
  return( htmlRetStr );
}

</script>
</head><body>
<button onclick="process_test_json()" >Run process_test_json()</button>
<div id="out"></div>
<div id="outAsHtml"></div>
</body>

2

इसके साथ कुछ?

function dump(x, indent) {
    var indent = indent || '';
    var s = '';
    if (Array.isArray(x)) {
        s += '[';
        for (var i=0; i<x.length; i++) {
            s += dump(x[i], indent)
            if (i < x.length-1) s += ', ';
        }
        s +=']';
    } else if (x === null) {
      s = 'NULL';
    } else switch(typeof x) {
        case 'undefined':
            s += 'UNDEFINED';
            break;
        case 'object':
            s += "{ ";
            var first = true;
            for (var p in x) {
                if (!first) s += indent + '  ';
                s += p + ': ';
                s += dump(x[p], indent + '  ');
                s += "\n"
                first = false;
            }
            s += '}';
            break;
        case 'boolean':
            s += (x) ? 'TRUE' : 'FALSE';
            break;
        case 'number':
            s += x;
            break;
        case 'string':
            s += '"' + x + '"';
            break;
        case 'function':
            s += '<FUNCTION>';
            break;
        default:
            s += x;
            break;
    }
    return s;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.