在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在网上搜了一下,有几种实现思路,还算实用。此文记录备用。 1. muyu的方案 $(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)); }); }); 2. 36ria的方案 function print_r(theObj) { var retStr = ''; if (typeof theObj == 'object') { retStr += '<div style="font-family:Tahoma; font-size:7pt;">'; for (var p in theObj) { if (typeof theObj[p] == 'object') { retStr += '<div><b>['+p+'] => ' + typeof(theObj) + '</b></div>'; retStr += '<div style="padding-left:25px;">' + print_r(theObj[p]) + '</div>'; } else { retStr += '<div>['+p+'] => <b>' + theObj[p] + '</b></div>'; } } retStr += '</div>'; } return retStr; } 3. 其他方法 print_r:function(theObj) { var retStr = ''; if (typeof theObj == 'object'||typeof theObj == 'array') { retStr += '<div style="font-family:Tahoma; font-size:7pt;">'; for (var p in theObj) { if (typeof theObj[p] == 'object' || typeof theObj[p] == 'array') { retStr += '<div><b>['+p+'] => ' + typeof(theObj) + '</b></div>'; retStr += '<div style="padding-left:25px;">' + XFUPLOAD.Tools.print_r(theObj[p]) + '</div>'; } else { retStr += '<div>['+p+'] => <b>' + theObj[p] + '</b></div>'; } } retStr += '</div>'; } $("body").append(retStr); } 使用时需要根据场景略作修改。 |
2022-11-06
2022-08-15
2022-07-18
2022-08-17
2022-08-17
请发表评论