基于json遍历的输出格式优化

来源:互联网 发布:乐乎公寓baidu 编辑:程序博客网 时间:2024/06/03 17:17

将JSON 转化为字符串简单,无论是Java 还是 Javascript.

java 中有许多关于json 操作的第三方类库:com.alibaba.fastjson.*;Javascript 中字符串与json之间相互转换可以通过JSON.stringify(JsonObj)、JSON.pares(JsonStr),或者使用第三方库JSON2.js 来操作;核心代码:    var span ="  ";   /**遍历json*/    var scanJson = function(jsonObj,span){        var content="{\n";         for(var i in jsonObj){            var tempVal = jsonObj[i];            var text = i;            content += (span+"\""+text+"\":");//key            if((typeof tempVal) == "string"){                content += ("\""+tempVal+"\"");            }else if((typeof tempVal) == "number" ||(typeof tempVal) == "boolean"){                content+=(tempVal+"");            }else if(tempVal instanceof Array){                content += scanArray(tempVal,span+span);            }else{//是json 对象                content+=scanJson(tempVal,span+span);            }                content+=",\n";        }        //先减去个逗号        content = content.substring(0,content.length-2)+"\n";        content+=(span.substring(0,span.length-2)+"}");        return content;    }    /**对数组进行遍历*/    var scanArray = function(arrObj,span){        var content="[";        for(var i in arrObj){            var tempVal = arrObj[i];            //if(tempVal instanceof String){            if((typeof tempVal) == "string"){                content+=("\""+tempVal+"\"");            }else if((typeof tempVal) == "number" ||(typeof tempVal) == "boolean"){                content+=tempVal;            }else if(tempVal instanceof Array){                content+= scanArray(tempVal,span+span);            }else{//是json 对象                content+= scanJson(tempVal,span+span);            }            if(i!=arrObj.length-1)                content+=",\n"+span;        }        content+=("\n"+span.substring(0,span.length-2)+"]");        return content;    }

实例:
var json ={“name”:”dd”,”b”:123.6,”d”:true,”kk”:[“aa”,”cd”,12,{“tp”:12}],”dc”:{“cd”:12,”ll”:{“ds”:true}}};
var content = scanJson(json,”–”);
$(“#content”).val(content);
这里写图片描述

0 0
原创粉丝点击