JSON方法

eval()   将字符串作为js语句解析,解析JSON格式的字符串时,能返回一个JSON格式的对象。

//jsonString是一个JSON格式的字符串
var data = eval('(' + jsonString + ')');
console.dir(data);

//执行单个表达式
document.write(eval("1+1"));
//执行多条语句
eval("x=10;y=20;document.write(x*y);");
//使用eval()方法有可能会抛出异常
try{
    //prompt()方法会引出一个输入性的弹窗,用户输入了表达式给eval()执行
    alert(eval(prompt("Please enter a expression:","")));
}catch(e){
    alert(e.message);
}

//解析JSON字符串
//定义一个JSON格式的字符串
//注意双引号和单引号的使用
//定义JSON字符串的时候不要回车,否则会出现问题
var strJson = "{'name':'Larry','gender':'female'}";
//eval()将JSON字符串解析成了一个对象
var jsonObj = eval("(" + strJson + ")");
document.write(jsonObj.name + jsonObj.gender);

观察eval()返回给jsonObj的结果可以看到,的确是一个JSON格式的对象。 

stringify()   将JSON对象转换为JavaScript对象表示法的JSON字符串(对象转为字符串)

var jsonString = JSON.stringify(object);

var people = new Object();
people.name = "Larry";
people.sex = "famle";
people.address = "Shanghai";
var jsonPeople = JSON.stringify(people);

alert(typeof jsonPeople); //string
alert(jsonPeople);

 

parse()   将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象)

var jsonObj= JSON.parse(jsonStr);

var jsonStr = '{"name":"Larry","sex":"famle","address":"Shanghai"}'
var jsonObj= JSON.parse(jsonStr);
alert(
typeof jsonObj); //Object alert(jsonObj);

 

posted @ 2015-11-23 00:59  zcynine  阅读(191)  评论(0编辑  收藏  举报