【发布时间】:2014-07-29 14:23:33
【问题描述】:
我遇到了在 js 中解析 json 编码对象的问题。
JSON.parse(word_array); 错误 Uncaught SyntaxError: Unexpected identifier
我的调查显示对象word_array不存在,因为PHP中的格式错误:它内部有一个未转义的单引号',因此使js认为它是字符串的结尾。
接下来我形成编码:
echo "<script>var word_array = '";
echo json_encode($word_set);
echo "';\n";
据我所知,json_encode 应该转义所有不受欢迎的字符,例如',但事实并非如此。
可能是什么问题?
我的php版本:Version PHP: 5.3.13
而$word_set 是关联数组。数组:
$word_set = array();
while($stmt->fetch())
{
$word_set_tmp[] = array(
'word' => $word,
'definition' => $def
);
array_push ($word_set,$word_set_tmp);
}
【问题讨论】:
-
请显示 json_encode 的输出,显示声明的未转义引号
-
当你可以立即分配 json 时,为什么要分配字符串然后解析它(不用引号括起来)。
-
我剪掉了末端(因为它很大)。
var word_array = '[{"word":"Abeyance","definition":"a temporary suspension of activity."},{"word":"Akimbo","definition":"having one's hands in a bent position on the hips."} -
one's中的问题 -
@Cthulhu 有趣的事情:你的建议也解决了他的问题,因为 afaik
'不应该被转义
标签: javascript php json