【问题标题】:Is it possible to encapsulate multiple-lines of html or javascript inside Json format?是否可以在 Json 格式中封装多行 html 或 javascript?
【发布时间】:2010-05-16 13:08:47
【问题描述】:

网上有例子吗?

【问题讨论】:

    标签: php javascript json


    【解决方案1】:

    是的。换行符必须在 JSON 字符串中转义为 \n

    【讨论】:

      【解决方案2】:

      另一种选择是创建一个 JSON 数组,其中每个元素都是字符串的新行。然后阅读程序可以加入新行。

      所以而不是:

      {
          value : "string with\nline breaks"
      }
      

      你可以的

      {
          value : ["string with",
                   "line breaks"]
      }
      

      【讨论】:

      • 为什么? \n 转义序列是 JSON 的定义部分,它可以立即工作。该数组需要在客户端 和服务器上的 上进行特殊处理,另外请记住,在 JSON 中的特殊位置,数组并不意味着是一个数组,还有一种区分 real 来自应该连接的字符串的字符串数组。模拟从一开始就内置在 JSON 中的效果太麻烦了。
      • 如果 JSON 是人工创建的,那么我的解决方案更直观。但是,如果只是为了在两个自动用户之间传输数据,那么最好使用\n
      • 如果是人工创建的,则文本编辑器中有搜索和替换功能。 ;)
      【解决方案3】:

      你已经用 PHP 标记了它,所以假设你使用的是 PHP,你应该能够证明它可以使用类似的东西:

      $html_string = "<b>Hello, world!</b>\n<i>It's a beautiful day...</i>";
      $json = json_encode(array( 'html' => $html_string ));
      

      现在,您还提到在您的 JSON 响应中包含 Javascript。那可能会麻烦一些。根据您在页面中放置 HTML 内容的方式(此处盲目假设您使用的是 ajax),您可能需要采取特殊步骤来执行 Javascript。请查阅您的 ajax 库文档以获取更多信息。

      【讨论】:

      • 我应该使用 XML 代替 Javascript 吗?
      • 这个问题没有意义。你能改写吗?
      猜你喜欢
      • 2012-09-04
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      相关资源
      最近更新 更多