क्या JSON ऑब्जेक्ट्स को jQuery getJSON
स्ट्रिंग चर डंप (अनुरेखण / डिबगिंग उद्देश्यों के लिए) के माध्यम से प्राप्त करने के लिए एक त्वरित कार्य है ?
क्या JSON ऑब्जेक्ट्स को jQuery getJSON
स्ट्रिंग चर डंप (अनुरेखण / डिबगिंग उद्देश्यों के लिए) के माध्यम से प्राप्त करने के लिए एक त्वरित कार्य है ?
जवाबों:
हां, यहां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);
आप console.log()
इस तरह से एक अच्छी वस्तु दृश्य प्राप्त करने के लिए फायरबग या क्रोम में उपयोग कर सकते हैं :
$.getJSON('my.json', function(data) {
console.log(data);
});
यदि आप केवल स्ट्रिंग देखना चाहते हैं , तो देखें तो सर्वर से वास्तविक स्ट्रिंग प्रतिक्रिया (इसे परिवर्तित करने की आवश्यकता नहीं है ... आपको इसे इस तरह प्राप्त हुआ है) देखने के लिए क्रोम में संसाधन दृश्य या फायरबग में नेट दृश्य देखें।
यदि आप उस तार को ले जाना चाहते हैं और इसे आसानी से देखने के लिए तोड़ते हैं, तो यहां एक उत्कृष्ट उपकरण है: http://json.parser.onf.fr/
getJSON
चुपचाप विफल हो जाएगा और आप यह समझने के लिए संघर्ष करेंगे कि यह काम क्यों नहीं करता है: जोड़ें .fail(function(jqxhr, status, error) { alert(status + ", " + error);})
।
मैं व्यक्तिगत रूप से 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, क्योंकि इसमें अच्छे रंग हैं
यहाँ मैं उपयोग कोड है। आपको इसे अपनी आवश्यकताओं के अनुकूल बनाने में सक्षम होना चाहिए।
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>"' + data[key] + '"</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>
इसके साथ कुछ?
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;
}