json字符串与json对象转换

从网上找的几种常用的转换方法,测试结果如下:

1、json字符串——>json对象

 1 /* test 1 */
 2 var str = '{"a":1,"b":2}';
 3 
 4 var s1 = JSON.parse(str); //OK 
 5 console.log(s1); //{ a: 1, b: 2 }
 6 
 7 var s2 =  eval('(' + str + ')'); //OK
 8 console.log(s2); //{ a: 1, b: 2 }
 9 
10 var s3 = str.parseJSON(); //TypeError: str.parseJSON is not a function
11 console.log(s3);
12 
13 
14 /* test 2 */
15 var str1 = '{a:1,b:2}';
16 
17 var s1 = JSON.parse(str1); //SyntaxError: Unexpected token a
18 console.log(s1);
19 
20 var s2 =  eval('(' + str1 + ')'); //OK
21 console.log(s2); //{ a: 1, b: 2 }
22 
23 var s3 = str1.parseJSON(); //TypeError: str.parseJSON is not a function
24 console.log(s3);
JSON.parse(str)可用,使用时要注意字符串格式
eval('(' + str + ')')可用

2、json对象——>json字符串

1 var str = { a: 1, b: 2 };
2 
3 var s1 = str.toJSONString(); // TypeError: str.toJSONString is not a function
4 console.log(s1); 
5 
6 var s2 =  JSON.stringify(str);  //OK
7 console.log(typeof s2); //string
8 console.log(s2); //{"a":1,"b":2}
JSON.stringify(str)可用
posted @ 2016-12-16 15:59  ximi007  阅读(419)  评论(0编辑  收藏  举报