PHPprint_r functions are very useful and can be used to print the structure and data of arrays and objects. Unfortunately, Ja
PHP print_r functions are very useful and can be used to print the structure and data of arrays and objects. Unfortunately, JavaScript does not provide similar functions in the native. However, we can try to implement this function by ourselves. The following provides some methods and ideas.
Method 1
function print_r(theObj) { var retStr = ''; if (typeof theObj == 'object') { retStr += ''; for (var p in theObj) { if (typeof theObj[p] == 'object') { retStr += '['+p+'] => ' + typeof(theObj) + ''; retStr += '' + print_r(theObj[p]) + ''; } else { retStr += '['+p+'] => ' + theObj[p] + ''; } } retStr += ''; } return retStr;}
Method 2
$(document).ready(function(){$('#btn').click(function(){ var jsonStr = $('#jsonData').val(); var json = eval('('+jsonStr+')'); (function(){var print_r = function(o, depth) { var result = ''; depth || (depth=1); var indent = new Array(4*depth+1).join(' '); var indentNext = new Array(4*(depth+1)+1).join(' '); var indentNextTwo = new Array(4*(depth+2)+1).join(' '); var tmp = ''; var type = typeof o; switch(type) {case 'string':case 'number':case 'boolean':case 'undefined':case 'function': tmp += indent + indentNext + o + "\n"; break;case 'object':default: for(var key in o) {tmp += indentNextTwo + '[' + key + '] = ';tmp += print_r(o[key], (depth+1)); } } result += type + "\n"; result += indentNext + '(' + "\n"; result += tmp; result += indentNext + ')' + "\n"; return result;};alert(print_r(json)); }(json));});});
Method 3
print_r:function(theObj) {var retStr = '';if (typeof theObj == 'object'||typeof theObj == 'array') {retStr += '';for (var p in theObj) {if (typeof theObj[p] == 'object' || typeof theObj[p] == 'array') {retStr += '['+p+'] => ' + typeof(theObj) + '';retStr += '' + XFUPLOAD.Tools.print_r(theObj[p]) + '';} else {retStr += '['+p+'] => ' + theObj[p] + '';}}retStr += '';}$("body").append(retStr);}
This article is available at http://www.nowamagic.net/librarys/veda/detail/1949.