在JSON中编写HTML字符串

时间:2014-03-21 06:16:05

标签: javascript jquery html json

是否可以在JSON中编写HTML字符串?

我想在我的JSON文件中编写如下代码:

[
    {
        "id": "services.html",
        "img": "img/SolutionInnerbananer.jpg",
        "html": "<h2class="fg-white">AboutUs</h2><pclass="fg-white">developing and supporting complex IT solutions.Touchingmillions of lives world wide by bringing in innovative technology </p>"
    }
]

11 个答案:

答案 0 :(得分:25)

你应该通过添加&#34; \ &#34;

来转义html字符串中的双引号等字符

例如:<h2 class=\"fg-white\">

答案 1 :(得分:6)

一旦正确地转义HTML,您就可以。 This page显示了需要做的事情。

如果使用PHP,您可以使用json_encode()

希望这会有所帮助:)

答案 2 :(得分:6)

在将html添加到JSON之前使用Base64算法编码html,并在阅读时使用Base64解码html。

byte[] utf8 = htmlMessage.getBytes("UTF8");
htmlMessage= new String(new Base64().encode(utf8));


byte[] dec = new Base64().decode(htmlMessage.getBytes());
htmlMessage = new String(dec , "UTF8");

答案 3 :(得分:3)

可以在JSON中编写HTML字符串。你只需要逃避双引号。

[
    {
        "id": "services.html",
        "img": "img/SolutionInnerbananer.jpg",
        "html": "<h2class=\"fg-white\">AboutUs</h2><pclass=\"fg-white\">CSMTechnologiesisapioneerinprovidingconsulting,
        developingandsupportingcomplexITsolutions.Touchingmillionsoflivesworldwidebybringingininnovativetechnology,
        CSMforayedintotheuntappedmarketslikee-GovernanceinIndiaandAfricancontinent.</p>"
    }
]

答案 4 :(得分:1)

一种方法是用单引号替换HTML中的双引号,但使用双引号已成为HTML中属性值的标准约定。

更好的选择是转义json和其他需要转义的字符中的双引号。

您可以在此处获取有关逃避的更多详细信息:Where can I find a list of escape characters required for my JSON ajax return type?

答案 5 :(得分:1)

可以说我正在尝试呈现以下HTML。

interface FooActionType { type: "removeFOO" | "addFOO" | "updateFOO"; payload: any; }

let myHTML = "<p>Go to this <a href='https://google.com'>website </b></p>"; 这将为您提供一个HTML元素,您可以使用innerHTML进行设置。

赞这个 JSON.parse(JSON.stringify(myHTML))

人们将HTML存储为对象here。但是,我建议的方法无需使用Object即可执行相同的操作。

答案 6 :(得分:0)

最简单的方法是将HTML放在单引号内。修改后的json对象如下:

[
    {
        "id": "services.html",
        "img": "img/SolutionInnerbananer.jpg",
        "html": '<h2 class="fg-white">AboutUs</h2><p class="fg-white">developing and supporting complex IT solutions.Touchingmillions of lives world wide by bringing in innovative technology </p>'
    }
];

Fiddle

最好的方法是使用双引号和其他需要转义的字符。修改后的json对象如下:

[
    {
        "id": "services.html",
        "img": "img/SolutionInnerbananer.jpg",
        "html": "<h2 class=\"fg-white\">AboutUs</h2><p class=\"fg-white\">developing and supporting complex IT solutions.Touchingmillions of lives world wide by bringing in innovative technology </p>"
    }
];

Fiddle

答案 7 :(得分:0)

您可以将标识符设为查询选择器的参数。对于PHP和兼容语言,使用关联数组(实际上是对象),然后使用json_encode。

$temp=array('#id'  =>array('href'=>'services.html')
           ,'img'  =>array('src'=>"img/SolutionInnerbananer.jpg")
           ,'.html'=>'<h2 class="fg-white">AboutUs</h2><p class="fg-white">...</p>'
           );
echo json_encode($temp);  

但是如果没有一些JS,HTML就不会为你做这件事。

{"#id":{"href":"services.html"},"img":{"src":"img\/SolutionInnerbananer.jpg"}
 ,".html":"<h2 class=\"fg-white\">AboutUs<\/h2><p class=\"fg-white\">...<\/p>"}

答案 8 :(得分:0)

您也应该转义正斜线,这是正确的JSON:

[{
"id": "services.html",
"img": "img/SolutionInnerbananer.jpg",
"html": "<h2class=\"fg-white\">AboutUs<\/h2><pclass=\"fg-white\">developing and supporting complex IT solutions.Touchingmillions of lives world wide by bringing in innovative technology <\/p>"
}]

答案 9 :(得分:0)

  

在JSON中放入HTML时必须做的4件事:

     

1)在HTML属性周围使用转义引号,例如<img src=\"someimage.png\" />

     

2)在HTML结束标记中转义正斜杠。 <div>Hello World!<\/div>.这是旧HTML规范的古老工件,   不想在将字符串放入HTML解析器时感到困惑   <SCRIPT>标签。由于某些原因,今天的浏览器仍然喜欢它。

     

3)这完全是古怪的。您应该在之间添加一个空格   标签名称和自动关闭标签上的斜杠。我不知道为什么   这是,但是在大多数现代浏览器上,如果您尝试使用javascript来   将<li>标记附加为已格式化的无序列表的子代   像这样:<ul/>,它将不起作用。它在ul之后被添加到DOM   标签。但是,如果代码如下所示:<ul />(请注意空格   /)之前,一切正常。确实很奇怪。

     

4)确保对可能包含在引号中的所有引号进行编码   (错误)HTML内容。这是唯一会真正打破   JSON意外地提早终止了字符串。任何"个字符   如果要包含为HTML,则应将其编码为&quot;   内容。

via

答案 10 :(得分:0)

在json中,所有内容都是双引号之间的字符串“,因此,如果值出现错误(仅在直接写入中),则需要转义”,请使用反斜杠 \

以及包装在{}中的json文件中的所有内容 将您的json更改为

{
  [
    {
      "id": "services.html",
      "img": "img/SolutionInnerbananer.jpg",
      "html": "<h2 class=\"fg-white\">AboutUs</h2><p class=\"fg-white\">developing and supporting complex IT solutions.Touching millions of lives world wide by bringing in innovative technology</p>"
    }
  ]
}