将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);