我试图通过json编辑数据,但是每当我在任何列上使用带有特殊章程的json时,当json不正确时,它都不接受给出错误的提示,例如
未捕获的TypeError:无法使用'in'运算符在其中搜索'length' {“ id”:“ 21”,“问题”:“参加者计分组织者可以编辑他们的 参加者
我要编辑的数据是这样的
参加者评分组织者可以在以下位置编辑参加者的分数 随时随地(@status)
所有内容都来自像这样的数组形式的数据库表
Array([id] => 21 [question] =>参与者计分组织者可以 随时编辑参与者的分数,无论 事件(@status)
我正在使用json_encode()
函数以json的形式转换数组形式的内容,但是它无法正常显示上述错误
我尝试过
data-json='<?php echo json_encode($ques,true); ?>'
和
data-json='<?php echo json_encode($ques,JSON_UNESCAPED_UNICODE); ?>'
和
data-json="<?php echo json_encode($ques,true); ?>"
和
data-json=\"<?php echo json_encode($ques,true); ?>\"
当我单击链接时,我进入了编辑页面,但是json_encode不起作用。有人可以告诉我为什么它不接受特殊的宪章,专栏或某个空白吗?
<td><a href="#/pencil-square-o" class="edit_faq option_icon"
data-json='<?php echo json_encode($ques,true); ?>'
data-block="athlete_form_block" data-form="faq_form" ><i class="fa
fa-edit"></i></a>
答案 0 :(得分:1)
使用htmlspecialchars($data, ENT_QUOTES, 'UTF-8')
转义HTML属性,如下所示:
<td><a href="#/pencil-square-o" class="edit_faq option_icon"
data-json='<?php echo htmlspecialchars(json_encode($ques), ENT_QUOTES, 'UTF-8'); ?>'
data-block="athlete_form_block" data-form="faq_form" ><i class="fa
fa-edit"></i></a>