Fork me on GitHub

构造json参数时key的引号和js string转json的三种方式

{name:"dd",age:"16"}
{"name":"dd","age":"16"}

前者是Javascript的对象字面量语法,后者是JSON,后者是前者的一个子集。json中的key必须是用双引号包围的,并且要搞清楚JSON是字符串。

1.eval方式解析,恐怕这是最早的解析方式了。如下:

function strToJson(str){ 

var json = eval('(' + str + ')'); 

return json; 

记得别忘了str两旁的小括号。当然最好别用:

  • 注入风险,尤其是ajax返回数据
  • 不方便debug
  • 效率低,eval是一个执行效率很低的函数

2.new Function形式,比较怪异哦。如下 

function strToJson(str){ 

var json = (new Function("return " + str))(); 

return json; 

3.使用全局的JSON对象,如下: 

function strToJson(str){ 

return JSON.parse(str); 

4.JSON.stringify(jsonobj); //可以将json对象转换成json字符串 

posted @ 2017-03-22 08:58  cosyer  阅读(556)  评论(0编辑  收藏  举报