使用jQuery处理JSON数据

时间:2012-02-15 05:56:47

标签: javascript jquery json

我和json有这个小问题。

//real json
var json1 = {"test1":"TEST1","test2":"TEST2","test3":"TEST3","test4":"TEST4"};
alert(json.test1); // will echo TEST1
//string, so javascript treat it like a String not JSON
var json2 = "{"test1":"TEST1","test2":"TEST2","test3":"TEST3","test4":"TEST4"}";
alert(json2.test1); // wrong

现在我想你知道我的意思,是否有任何函数或方法将类似json的字符串转换为实际的JSON?

4 个答案:

答案 0 :(得分:2)

使用jQuery有一种非常简单的方法:

var jsonObj = jQuery.parseJSON(jsonString);

当然,你不需要jQuery,你可以用这个完成同样的事情:

var jsonObj = JSON.parse(jsonString);

理论为explained here,您还可以查看jQuery.parseJSON documentation页面。

答案 1 :(得分:1)

您可以使用eval()函数:

var real_json = eval(json2);

答案 2 :(得分:1)

假设你的字符串实际上是有效的,例如(注意单引号)

var json2 = '{"test1":"TEST1","test2":"TEST2","test3":"TEST3","test4":"TEST4"}';

使用

var jsonObj = JSON.parse(json2);
alert(jsonObj.test1);

答案 3 :(得分:0)

检查这也是JSON解析的另一种方式

var json2 = "{"+'"test1"'+":"+'"TEST1"'+","+'"test2"'+":"+'"TEST2"'+","+'"test3"'+":"+'"TEST3"'+","+'"test4"'+":"+'"TEST4"'+"}";

      var jsonObj = $.parseJSON(json2);
      alert(jsonObj.test1);