求教一个关于把json数据从后台传到前台的问题。要传输的数据是html格式

fanxin_1999 2012-12-14 04:33:33
如题:

要传输的json数据中包含有html数据,请问,如何解决。

字符格式的没有问题,比如string strJson="{\"str\":\"AdImages\"}";

但是:如果包含了html格式的代码,经过ajax调用后总是提示undefined.
我是这样写的
string strJson="{\"List\":\"<div><p style=\'text-indent\: -18pt;\'\"}"
提示错误undefined

恳请有过json经验的前辈赐教,在线等谢谢。。。。。
...全文
434 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanxin_1999 2012-12-18
  • 打赏
  • 举报
回复
对了,再补充一句,就是要保持所编辑页面的样式,不得不把html标签带着。再次感谢。
fanxin_1999 2012-12-18
  • 打赏
  • 举报
回复
引用 8 楼 sp1234 的回复:
引用 6 楼 dongshaohua 的回复:提的问题本身就有问题,要传输的json数据中包含有html数据?html不是数据,基本概念都没有分清 json中某个element的值是html字符串,这是完全可以理解的。
谢谢,我的基础概念是有点问题。有的时候说不太清楚。 文章是在fckeditor中添加的,传到后台的时候,就有一堆html标签痛苦。 我按照给的思路,自己在试试。谢谢,各位的宝贵时间。 结贴
  • 打赏
  • 举报
回复
引用 6 楼 dongshaohua 的回复:
提的问题本身就有问题,要传输的json数据中包含有html数据?html不是数据,基本概念都没有分清
json中某个element的值是html字符串,这是完全可以理解的。
  • 打赏
  • 举报
回复
你可以写个代码(调用json.net)看看结果:
var html = "<div><p style='text-indent: -18pt;'>这是什么?</p>这里多余写个DIV。</div>";
var js = new JObject();
js.Add("List", html);
var strJson = js.ToString();
dongshaohua 2012-12-15
  • 打赏
  • 举报
回复
提的问题本身就有问题,要传输的json数据中包含有html数据?html不是数据,基本概念都没有分清
  • 打赏
  • 举报
回复
使用json.net来序列化,不要自己手工写。 大多数人手工写的,都是错误百出的。
fanxin_1999 2012-12-15
  • 打赏
  • 举报
回复
引用 3 楼 yenange 的回复:
引用 2 楼 yenange 的回复:如果你求规范,那你还是返回纯正的json,再构建json吧 再构建html
谢谢哈。 要返回到前台的内容是通过前台页面中的fckeditor编辑器先传到后台,保存到数据库,然后后台读取数据库中的数据,以json的形式再传到前台,可是由于html标签是随机的,所以几乎不可能控制。等到前台的时候,json的语法非常严格,导致不能正常完成设计的需要。 有没有方便简洁的方式来完成这一需求。 谢谢
吉普赛的歌 2012-12-15
  • 打赏
  • 举报
回复
引用 4 楼 fanxin_1999 的回复:
引用 3 楼 yenange 的回复:引用 2 楼 yenange 的回复:如果你求规范,那你还是返回纯正的json,再构建json吧 再构建html 谢谢哈。 要返回到前台的内容是通过前台页面中的fckeditor编辑器先传到后台,保存到数据库,然后后台读取数据库中的数据,以json的形式再传到前台,可是由于html标签是随机的,所以几乎不可能控制。等……
如此说来还是可以理解楼主了, 富文本编辑器确实避免不了这个。 你可以用 newtonsoft.json.dll 来将list, datatable, 或者一般对象转成json。 手工转是非常容易出错的。
吉普赛的歌 2012-12-14
  • 打赏
  • 举报
回复
引用 2 楼 yenange 的回复:
如果你求规范,那你还是返回纯正的json,再构建json吧
再构建html
吉普赛的歌 2012-12-14
  • 打赏
  • 举报
回复
引用 楼主 fanxin_1999 的回复:
如题: 要传输的json数据中包含有html数据,请问,如何解决。 字符格式的没有问题,比如string strJson="{\"str\":\"AdImages\"}"; 但是:如果包含了html格式的代码,经过ajax调用后总是提示undefined. 我是这样写的 string strJson="{\"List\":\"<div><p styl……
你还没有弄明白 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){ //.... });
bdmh 2012-12-14
  • 打赏
  • 举报
回复
你最好编个码吧,比如把html部分base64编码,读取时解码

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧