本文共 686 字,大约阅读时间需要 2 分钟。
Javascript小弟初学不久.所以如下有什么大的笑话.多多见谅.
因为有时得到JSON数据后.只能处后台来推断.如果后台不是我们处理.那我们怎么来得到他的格式了.如下:
//obj为JSON格式数据function jsonToString(obj){ var str = ""; var depth = 0; function jsonParseString(obj) { for(var p in obj){ if(Object.prototype.toString.apply(obj[p]) == "[object Array]"){ str += p +":"+"\n"; var length = obj[p].length; for(var i =0;i
传进来的是JSON格式的数据.最先我就一递归函数.但是发现结果不对(如果JSON里有数组,会得不到数组里的分析结果)主要是因为Javascript里的字符串是值传递.
所以想的是用全局变量.但是这个函数是给别的来调用的.不可能还去写个全局变量.
后利用JavaScript的闭包.来达到相应效果并不用全局变量.其中深度控制也是如此.
深度控制没有具体测试.可能如果数组里有数组.也可能数组连数组不能正确显示(这个因时间关系没有测试)
解析结果如下: 呵呵,有的人可能看出来了.这个是JqGrid要求的JSON格式.
转载地址:http://tgrbz.baihongyu.com/