【发布时间】: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 的序列化程序返回
<blockquote><p>Test<</p></blockquote>
我的问题是,如何防止 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