小编典典

将HTML放入JSON

json

按照标题,将HTML放入JSON是否被视为一种好习惯?我需要这样做的原因是因为我想要一个自定义下拉列表,其中列表来自用户输入,而json看起来像这样:

{ listTitle: 'Tasks', listHtml: '<ul><li></li>...</ul>' }

并且我有以下foreach(请记住,这是我的代码的精简版,已经进行了验证,但是出于这个问题,我将其取出)

$list = /** Code to grab 'Tasks' list and its title from mysql **/;
$title = 'Tasks';
$listHtml = '';
foreach($list as $content) { $listHtml .= '<li>' . htmlspecialchars($content, ENT_QUOTES, 'UTF-8') . '</li>'; }

exit(json_encode(array(
   'title' => $title, 'listHtml' => '<ul>' . $listHtml . '</ul>'
)));

我担心的是,可能会有一些特殊字符可能会破坏JSON字符串。请帮忙。


阅读 683

收藏
2020-07-27

共1个答案

小编典典

您不会是第一个这样做的人,当然也不会是最后一个。

要真正回答这个问题,假设您遵循协议/标准并且没有破坏它(例如,在字符串中包含引号而不进行转义),则应该没问题。json_encode在所有这些方面都做得很好,但是正如@Kolink所提到的,请确保首先将其编码为UTF8,否则杂散的Unicode字符有时会破坏它,从而导致输出为空。

除此之外,程序员更喜欢使用它。有些人避免使用它并使UI在页面上保持工作状态,其他人则让服务器生成UI并让JavaScript只是转储它-
无论哪种方式都是您的调用,并且完全可以接受。

2020-07-27