【问题标题】:JSON.NET encodingJSON.NET 编码
【发布时间】:2011-02-18 22:33:58
【问题描述】:

我有一个 bbcode 解析器,它将服务器端的 bbcode 解析为 html 字符串,然后在客户端使用 JQuery 将结果作为 html 呈现给最终用户。

当我使用 JSON.NET 的 .SerailizeObject 返回对象时,默认情况下,它会编码所有 html。

JsonConvert.SerializeObject(MyBBCodeObject, Formatting.None)

我原来已经“解析”的 html 字符串是

<blockquote><p>test</p></blockquote>

并且 JSON.NET 的序列化程序返回

&lt;blockquote&gt;&lt;p&gt;Test&lt;&lt;/p&gt;&lt;/blockquote&gt;

我的问题是,如何防止 JSON.NET 对我已经“解析”(属性 MyBBCodeObject)的字符串进行 html 编码?

结果是,当呈现给用户时,我必须使用 JQuery 模板的 {{html}} 来解码它们,这会导致额外的 4 秒加载时间。

非常感谢任何建议。

【问题讨论】:

  • 确定 json.net 是 html 编码吗?您确定将其写入响应时实际上不是您的网络代码吗?例如,如果你只是做string s = JsonConvert.SerializeObject(MyBBCodeObject, Formatting.None),那么s 是什么? (没有将s 写入响应流!)
  • @Marc。你说的对!嗯,这不是 JSON.NET 问题。我正在从 .asmx Web 服务返回结果,看起来它是对我的响应进行 html 编码的 Web 服务。感谢您向我指出这一点!

标签: c# jquery asp.net json.net


【解决方案1】:

不知道如何关闭这个帖子,所以我将回答我自己的问题。

再次感谢@Marc。编码我的响应的是 .asmx Web 服务。为此,我将只使用 httphandler。

【讨论】:

  • 接受您自己的答案,问题不会显示为“未回答”
猜你喜欢
  • 2012-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
相关资源
最近更新 更多