1、html
<textarea id="ta1" rows="20" cols="50">
</textarea>
<textarea id="ta2" rows="20" cols="50">
</textarea>
<textarea id="ta3" rows="20" cols="50">
</textarea>
<textarea id="ta4" rows="20" cols="50">
</textarea>
<textarea id="ta5" rows="20" cols="50">
</textarea>
<textarea id="ta6" rows="20" cols="50">
</textarea>
<br>
<button onclick="printInfo()">转数据</button>
<button onclick="printInfo2()">转数据+过滤</button>
<div id="showInfo"></div>
2、JavaScript
< script>
var person = new Object();//{}
person.name="jack";
person.age=20;
person.isSingleDog=true;
person.say=function(){
return "hello";
}
//转成JSON
var str1 = JSON.stringify(person);
document.getElementById("ta1").value=str1;
//格式化输出JSON
var str2 = JSON.stringify(person,null,4);
document.getElementById("ta2").value=str2;
//增加过滤
var str3 = JSON.stringify(person,["name","age"],4);
document.getElementById("ta3").value=str3;
//增加过滤函数
var str4 = JSON.stringify(person,function(key,value){
switch(key){
case "isSingleDog":
if(value==true){
return false;
}
return value;
case "age":
return Number(value)+10;
case "name":
return undefined;
default:
return value;
}
},4);
document.getElementById("ta4").value=str4;
//JSON转对象
function printInfo(){
var info = document.getElementById("ta5").value;
var obj = JSON.parse(info);
for(var i in obj){
//print(i+":"+obj[i]);
appendToShowInfo(i+":"+obj[i]);
}
if(obj instanceof Array){
for(var i in obj){
for(var j in obj[i]){
appendToShowInfo(j+":"+obj[i][j]);
}
}
}
}
//JSON转对象 + 过滤函数
function printInfo2(){
var info = document.getElementById("ta6").value;
var obj = JSON.parse(info,function(key,value){
switch(key){
case "age":
return Number(value)+10;
default:
return value;
}
});
for(var i in obj){
appendToShowInfo(i+":"+obj[i]);
}
}
function appendToShowInfo(msg){
var showInfo = document.getElementById("showInfo");
var p = document.createElement("p");
p.innerHTML=msg;
showInfo.appendChild(p);
}
function print(msg){
document.write(msg);
document.write("<br>");
}
</script>