在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。
<span style="color:#4b4b4b;">//测试js创建简单的json对象并转换为json字符串;
function test1(){
var student = new Object(); //声明一个student的json对象
//为对象赋予键和值;
student.name="小明";
student.age="21";
student.address="上海";
//将student的json对象转换为json字符转;
//var stuJson = JSON.stringify(student);
var stuJson = student.toJSONString();
alert(student); //1.弹出的内容为对象
alert(stuJson); //2.弹出的内容json字符串
}
//测试js创建复杂的json数组对象,转换为json字符串
function test2(){
var jsonObj = new Array(); //声明一个json数组
var jsonObj1 = new Object(); //json数组中的第一个json对象
jsonObj1.name="张三";
jsonObj1.age="25";
var jsonObj2 = new Object(); //json数组中的第二个json对象
jsonObj2.name="李四";
jsonObj2.age="18";
//将两个json对象放入json数组中
jsonObj[0]=jsonObj1;
jsonObj[1]=jsonObj2;
alert(jsonObj); //弹出json对象;
alert(</span><span style="color:#ff0000;">JSON.stringify(jsonObj)</span><span style="color:#4b4b4b;">);//弹出json字符串;
</span><span style="color:#ff0000;">$.each(jsonObj,function(i,n)</span><span style="color:#4b4b4b;">{ //迭代json数组中的每一个对象
i++;
alert("第"+i+"个对象姓名为:"+n.name+",年龄为:"+n.age);
});
}
//测试将json字符串转换为json对象
function test3(){
var jsonStr = '{"name":"张三","age":"21"}'; //json字符串;
alert(jsonStr); //1.弹出的为json字符串;
var jsonObj = </span><span style="color:#ff0000;">eval('('+jsonStr+')');</span><span style="color:#4b4b4b;"> //将json字符串转换为json对象
alert(jsonObj); //2.弹出的为json对象;
}</span>