<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js str和json之间的相互转换</title>
</head>
<body>
</body>
<script type="text/javascript">
var json = "{\"name\":\"哈哈\",\"age\":\"20\",\"gender\":\"男\"}";
var obj = null;
//obj = strToJson1(json);
//obj = strToJson2(json);
obj = strToJson3(json);
console.log(obj.name + "," + obj.age + "," + obj.gender);
console.log("obj:"+obj);
console.log(jsonToStr(obj));
//1,eval方式解析,恐怕这是最早的解析方式了。如下:
//复制代码 代码如下:
function strToJson1(str){
var json = eval('(' + str + ')');
return json;
}
//记得别忘了str两旁的小括号。
//2,new Function形式,比较怪异哦。如下
//复制代码 代码如下:
function strToJson2(str){
var json = (new Function("return " + str))();
return json;
}
//3,使用全局的JSON对象,如下:
//复制代码 代码如下:
function strToJson3(str){
return JSON.parse(str);
}
//4.使用jquery方法:
//需要引入jQuery.js
//function strToJson4(str){
//return $.parseJSON(str);
//}
//5.json对象转字符串,如下:
function jsonToStr(json){
return JSON.stringify(json);
}
</script>
</html>
来源:oschina
链接:https://my.oschina.net/u/2607324/blog/812200