3

我对 Jquery Ajax 调用做出了响应,它运行良好:

var jSonTestResultReport =@"{ ""html"" : ""I am text!"" }";

Javascript 接收它并获取文本并将其呈现在 a 中Div,我可以看到它说"I am Text"

但是当我尝试这样做时:

var jSonTestResultReport =@"{ ""html"" : ""<li style=""color:green;"">I am text</li>"" }";

我得到的错误

意外的令牌 c.

怎么能发html过去Json

4

3 回答 3

7
var jSonTestResultReport =@"{ ""html"" : ""<li style=""color:green;"">I am text</li>"" }";

将创建一个 json 字符串为

{ "html" : "<li style="color:green;">I am text</li>" }

这是无效的。unexpected token c.来自 的第一个字母color

使用真正的 json 解析器而不是手动形成 json。

var json = JsonConvert.SerializeObject(new { html=@"<li style=""color:green;"">I am text</li>" });

PS:var jSonTestResultReport =@"{ ""html"" : "I am text!" }";无法编译。

于 2012-09-28T11:31:49.623 回答
1

转义你的 "" qoutes like \""<li ... >否则 JSON 会死,因为它是一个文本分隔符

var jSonTestResultReport =
     @"{ ""html"" : ""<li style=\""color:green;\"">I am text</li>"" }";
于 2012-09-28T11:27:56.270 回答
0

为什么不使用 jQuery.parseJSON 方法,这比使用大量双引号的方法更清晰易读

例如

var obj = jQuery.parseJSON('{"html": "<listyle='color: green;'>Iamtext</li>"}');

另外为了加快速度,我建议您使用 JsonLint 验证器来验证您的 json 对象

于 2012-09-28T11:25:46.907 回答