如题:要传输的json数据中包含有html数据,请问,如何解决。字符格式的没有问题,比如string strJson="{\"str\":\"AdImages\"}";但是:如果包含了html格式的代码,经过ajax调用后总是提示undefined.
我是这样写的
string strJson="{\"List\":\"<div><p style=\'text-indent\: -18pt;\'\"}"
提示错误undefined恳请有过json经验的前辈赐教,在线等谢谢。。
我是这样写的
string strJson="{\"List\":\"<div><p style=\'text-indent\: -18pt;\'\"}"
提示错误undefined恳请有过json经验的前辈赐教,在线等谢谢。。
你还没有弄明白 json 的用处, 以及json 与html的区别。json是一种轻量级的数据, 数据。做web开发, 最好是把数据与展现分开的, 也就是数据与展现形式分开。 例如.net里著名的三层架构。html就不是数据了, 可以看成是数据与形式的综合体。 大部分人在做web的ajax开发时, 很喜欢返回html而不是 json,但这不是一种很好的习惯。 当然,你要返回json或者html都可以达到目的。但是返回json与html的综合体,就太不值得了。
既没有分开数据与形式, 又没有直接构建html, 严谨与方便两方面都没有得到好处。如果你求方便,建议你直接在后台代码里, 把html完全构建好, 前台直接接受。
$.post("xxx.ashx?y=?",function(html){
$("#divTest").html(html);
});如果你求规范,那你还是返回纯正的json,再构建json吧
$.getJSON("xxx.ashx?y=?",function(json){
//....
});
谢谢哈。要返回到前台的内容是通过前台页面中的fckeditor编辑器先传到后台,保存到数据库,然后后台读取数据库中的数据,以json的形式再传到前台,可是由于html标签是随机的,所以几乎不可能控制。等到前台的时候,json的语法非常严格,导致不能正常完成设计的需要。有没有方便简洁的方式来完成这一需求。谢谢
var js = new JObject();
js.Add("List", html);
var strJson = js.ToString();
json中某个element的值是html字符串,这是完全可以理解的。
如此说来还是可以理解楼主了, 富文本编辑器确实避免不了这个。你可以用 newtonsoft.json.dll 来将list, datatable, 或者一般对象转成json。
手工转是非常容易出错的。
谢谢,我的基础概念是有点问题。有的时候说不太清楚。文章是在fckeditor中添加的,传到后台的时候,就有一堆html标签痛苦。我按照给的思路,自己在试试。谢谢,各位的宝贵时间。结贴