Javascript 在JSON中处理html代码
我正在编写的代码将使用AJAX请求从服务器获取一些HTML代码进行嵌入,但我似乎无法获得正确的JSON格式。谁能告诉我我做错了什么Javascript 在JSON中处理html代码,javascript,ajax,json,Javascript,Ajax,Json,我正在编写的代码将使用AJAX请求从服务器获取一些HTML代码进行嵌入,但我似乎无法获得正确的JSON格式。谁能告诉我我做错了什么 {"response": [ {"code": "<div id=\”sponsors\” class=\”infoBox\” > <div class=\”title\”>THANK YOU 2011 SPONSORS!</div> <div class=\”section\”> <div class=
{"response":
[
{"code": "<div id=\”sponsors\” class=\”infoBox\” > <div class=\”title\”>THANK YOU 2011 SPONSORS!</div> <div class=\”section\”> <div class=\”party\”><a href=\”http://www.ChickRussell.com\”>Chick Russell Communications</a></div> <div class=\”cityState\”>Pasadena, California</div> <div class=\”description\”> Chick Russell Communications is a story-driven creative development company, not a design-driven company. It's one of our main distinguishing features. It doesn't matter how great it looks if it doesn't create the desired effect. <a href=\”/vendors/info/17280\”>more...</a> </div> <div class=\”web\”><a href=\”http://www.ChickRussell.com\”>www.ChickRussell.com</a></div> </div> </div>"
}
]
}
“
和”
是不同的字符。您需要的是stright引号,而不是卷曲的引号。(如果看不到差异,请告诉浏览器放大……不要使用自动转换为卷曲引号的编辑器(例如许多字处理器),请使用适当的文本编辑器(我喜欢ActiveState Komodo))
旧答案(在修订问题中的JSON之前): 第一件你可能做错的事,就是试图手工构建JSON,而不是使用库 第二个错误是HTML编码(严重)引号。要在JSON字符串中转义
“
,请将其表示为\”
第三件事(但可能只是您给出了一个糟糕的示例)是费心为单个对象使用数组
当我尝试在它上运行JSON.parse()时,我得到一个语法错误
尽管存在问题,但您所拥有的是,因此不应该发生。您似乎已经减少了测试用例,以至于您所遇到的问题不会出现在其中。
“
和”
是不同的字符。你需要的是短引号,而不是短引号。(如果看不到差异,请告诉浏览器放大…不要使用自动转换为卷曲引号的编辑器(例如,许多文字处理器),请使用适当的文本编辑器(我喜欢ActiveState Komodo))
旧答案(在修订问题中的JSON之前): 第一件你可能做错的事情,就是试图手工构建JSON。改用图书馆 你做错的第二件事是HTML编码(很糟糕)你的引号。要在JSON字符串中转义
“
,请将其表示为\”
第三件事(但可能只是您给出了一个糟糕的示例)是费心为单个对象使用数组
当我尝试在它上运行JSON.parse()时,我得到一个语法错误
尽管它有问题,但你所拥有的是,所以这不应该发生。您似乎已经减少了测试用例,以至于您遇到的问题没有出现在其中。这似乎对我有用:
然而,我确实避开了单引号
var str = '{"response":[{"code": "<div id=\”sponsors\” class=\”infoBox\” > <div class=\”title\”>THANK YOU 2011 SPONSORS!</div> <div class=\”section\”> <div class=\”party\”><a href=\”http://www.ChickRussell.com\”>Chick Russell Communications</a></div> <div class=\”cityState\”>Pasadena, California</div> <div class=\”description\”> Chick Russell Communications is a story-driven creative development company, not a design-driven company. It\'s one of our main distinguishing features. It doesn\'t matter how great it looks if it doesn\'t create the desired effect. <a href=\”/vendors/info/17280\”>more...</a> </div> <div class=\”web\”><a href=\”http://www.ChickRussell.com\”>www.ChickRussell.com</a></div> </div> </div>"} ]}';
var obj = JSON.decode(str);
alert(obj["response"][0]["code"]);
var str='{“response”:[{“code”:“感谢2011年赞助商!加利福尼亚州帕萨迪纳Chick Russell Communications是一家以故事为导向的创意开发公司,而不是一家以设计为导向的公司。这是我们的主要特色之一。如果不能创造预期的效果,它看起来有多棒并不重要。”}]};
var obj=JSON.decode(str);
警报(obj[“响应”][0][“代码”]);
它似乎适合我:
然而,我确实避开了单引号
var str = '{"response":[{"code": "<div id=\”sponsors\” class=\”infoBox\” > <div class=\”title\”>THANK YOU 2011 SPONSORS!</div> <div class=\”section\”> <div class=\”party\”><a href=\”http://www.ChickRussell.com\”>Chick Russell Communications</a></div> <div class=\”cityState\”>Pasadena, California</div> <div class=\”description\”> Chick Russell Communications is a story-driven creative development company, not a design-driven company. It\'s one of our main distinguishing features. It doesn\'t matter how great it looks if it doesn\'t create the desired effect. <a href=\”/vendors/info/17280\”>more...</a> </div> <div class=\”web\”><a href=\”http://www.ChickRussell.com\”>www.ChickRussell.com</a></div> </div> </div>"} ]}';
var obj = JSON.decode(str);
alert(obj["response"][0]["code"]);
var str='{“response”:[{“code”:“感谢2011年赞助商!加利福尼亚州帕萨迪纳Chick Russell Communications是一家以故事为导向的创意开发公司,而不是一家以设计为导向的公司。这是我们的主要特色之一。如果不能创造预期的效果,它看起来有多棒并不重要。”}]};
var obj=JSON.decode(str);
警报(obj[“响应”][0][“代码”]);
是双引号。您使用了“(Unicode:U+8221)而不是“(Unicode:U+34)。尽管它们看起来非常相似,但它们是两个不同的字符
以下代码有效:
{
"response": [
{
"code": "<div id=\"sponsors\" class=\"infoBox\" > <div class=\"title\">THANK YOU 2011 SPONSORS!</div> <div class=\"section\"> <div class=\"party\"><a href=\"http://www.ChickRussell.com\">Chick Russell Communications</a></div> <div class=\"cityState\">Pasadena, California</div> <div class=\"description\"> Chick Russell Communications is a story-driven creative development company, not a design-driven company. It's one of our main distinguishing features. It doesn't matter how great it looks if it doesn't create the desired effect. <a href=\"/vendors/info/17280\">more...</a> </div> <div class=\"web\"><a href=\"http://www.ChickRussell.com\">www.ChickRussell.com</a></div> </div> </div>"
}
]
}
{
“答复”:[
{
“代码”:“感谢2011年赞助商!加利福尼亚州帕萨迪纳市的奇克·拉塞尔通信公司是一家故事驱动的创意开发公司,而不是设计驱动的公司。这是我们的主要特色之一。如果不能产生预期的效果,它看起来有多棒并不重要。”
}
]
}
您可以随时使用-这是一个很棒的工具来检查JSON代码。这是双引号。您使用了“(Unicode:U+8221)而不是“(Unicode:U+34)。虽然他们看起来很相似,但他们是两个不同的角色 以下代码有效:
{
"response": [
{
"code": "<div id=\"sponsors\" class=\"infoBox\" > <div class=\"title\">THANK YOU 2011 SPONSORS!</div> <div class=\"section\"> <div class=\"party\"><a href=\"http://www.ChickRussell.com\">Chick Russell Communications</a></div> <div class=\"cityState\">Pasadena, California</div> <div class=\"description\"> Chick Russell Communications is a story-driven creative development company, not a design-driven company. It's one of our main distinguishing features. It doesn't matter how great it looks if it doesn't create the desired effect. <a href=\"/vendors/info/17280\">more...</a> </div> <div class=\"web\"><a href=\"http://www.ChickRussell.com\">www.ChickRussell.com</a></div> </div> </div>"
}
]
}
{
“答复”:[
{
“代码”:“感谢2011年赞助商!加利福尼亚州帕萨迪纳市的奇克·拉塞尔通信公司是一家故事驱动的创意开发公司,而不是设计驱动的公司。这是我们的主要特色之一。如果不能产生预期的效果,它看起来有多棒并不重要。”
}
]
}
您可以随时使用检查JSON代码-这是一个很棒的工具。对我来说,这看起来像是有效的JSON。发布相关代码。在我看来,这似乎是有效的json。发布相关代码。我刚刚添加了JavaScript代码并修复了编码。有什么不对劲吗?针对新JSONI的更新答案刚刚添加了我的JavaScript代码并修复了编码。有什么不对劲吗?更新了对新JSONpost的响应,在chrome控制台的网络选项卡上发布ajax响应数据。此外,JSON.decode并没有得到很好的支持。您应该使用eval、json2或jquery.post在chrome控制台的网络选项卡中发布ajax响应数据。此外,JSON.decode也没有得到很好的支持。您应该使用eval、json2或jquery。