未捕获的SyntaxError:作为参数传递给函数的json选项的意外标记h错误

时间:2014-09-01 10:58:33

标签: javascript json

JSON数组:

 var data= '[{"id":"1","text":"B.Sc"},{"id":"2","text":"M.Pharm"},{"id":"3","text":"M.Tech"},{"id":"4","text":"BBM"},{"id":"6","text":"MCA"},{"id":"10","text":"PGDMA"},{"id":"11","text":"Diploma"},{"id":"12","text":"Plus Two"},{"id":"14","text":"fdf"},{"id":"15","text":"dfdf"},{"id":"16","text":"alert("hi");"},{"id":"1235","text":"B.Tech"},{"id":"10001","text":"MBA"}]';
selectParams['data'] =  jQuery.parseJSON(data); // errors happens here

我在http://www.jsoneditoronline.org/尝试了它的投掷错误。

问题在于("")JSON数组中的双引号。

我尝试了几个选项,但没有任何作用。我们如何用这种结构解析JSON数组,比如将双引号和单引号作为值。

感谢任何帮助

2 个答案:

答案 0 :(得分:1)

生成JSON字符串时,转义所有键和值

val.replace('"', '\"'); //json_encode($fullArray); in PHP will escape automatically.

以便"alert("hi");"成为"alert(\"hi\")"

答案 1 :(得分:1)

逃避内在的双引号:

alert(\"hi\")