【发布时间】:2017-07-10 11:59:09
【问题描述】:
我有来自 PHP 的 JSON,我添加了 addslashes();,结果是
["01","\"Mia\'s\""]
当我将它传递给 Javascript 并尝试解析它时,我得到了这个错误,我找不到解析它的方法。
["01","\"Mia\
未捕获的语法错误:JSON 中的意外标记 T 位于位置 在 JSON.parse() 在 convertJSONToArray (add_something:2830)
这是我的转换
// Converting json to array
function convertJSONToArray(jsonValue){
var arr = [];
var parsed = JSON.parse(jsonValue);
for(var x in parsed){
arr.push(parsed[x]);
}
return arr;
}
更新
我修好了。 通过将单引号替换为 unicode。
【问题讨论】:
-
在发送到 JavaScript / jQuery 之前不需要添加斜杠。
-
循环有什么用?
parsed不是已经包含所需的数组吗?另外,什么jQuery?无论如何,不要逃避 JSON 中的撇号。 -
你是手动创建那个 JSON 字符串还是使用
json_encode($array) -
您的原始 JSON 字符串是
["01",""Mia's""],这是无效格式。 -
其实如果我不添加addslashes(),如果我解析它就会出错。
标签: javascript php jquery parsing