json字符串可以包含HTML标记吗?

时间:2010-01-28 02:50:57

标签: html json

考虑这是我的json字符串,

[{"Mat_id" : "2","Mat_Name" : "Steel",
"Measurement" : "mm","Description" : "Steel"}] 

我可以在这个json字符串中添加HTML标签吗,

[{"Mat_id" : "2","Mat_Name" : "Steel",
    "Measurement" : "<bold>mm</bold>","Description" : "Steel"}]
  • 这是否是一个有效的json字符串?
  • 当Eval('('+ thisstring +')')引发问题时?如果是这样的话是什么?

我这样做是因为我将这个json对象传递给消耗json的yui数据表 数据源...

修改

这是我的json字符串,

{"Table" : [{"Mat_id" : "2",
"Mat_Name" : "Jully","Measurement" : "<bold>Inches</bold>",
 "Description" : "Gully"},]}

但我没有以粗体显示我的测量列值...

4 个答案:

答案 0 :(得分:7)

从技术上讲,是的,你可以这样做......实际上,如果我的数据中有HTML标记,我会有点担心。还有什么可能吗?闻起来像是一个XSS漏洞。

答案 1 :(得分:3)

是的..没问题。 :)

答案 2 :(得分:1)

使用Encoder.js http://code.google.com/p/jsool/source/browse/jsool-site/js/util/Encoder.js?r=176

获取数据时

  

Encoder.htmlDecode(值);

并且在传递数据时使用

  

Encoder.htmlDecode(值);

答案 3 :(得分:0)

此答案适用于> Angular 2 编译,有关解析包含html标签的json。

下面是包含html标签的json

{ 
 "data":"highlighting <b>this</b> in bold"
}

如您所见,这是关键字在呈现时需要在html中加粗。

如果我使用如下所示的角度插值,它将被解析为普通字符串,并且标签将按原样打印。

   <p> {{titleDetails.what}}</p>

输出:以粗体突出显示

但是,如果您使用如下所示的属性绑定,它将呈现预期的输出。

   <p [innerHTML]="titleDetails.what"></p>

输出:以粗体突出显示