System.Json 中的错误?
重现代码:
JsonPrimitive a = new JsonPrimitive("<a href=\"\"/>");
//or the same: JsonPrimitive a = new JsonPrimitive(@"<a href=""/>");
Console.WriteLine(a.ToString());
//or Console.WriteLine((string)a);
//On the console screen I got: "<a href=\""/>"
//Ideal: "<a href=\"\"/>"
我的System.Json.dll的版本是2.0.5.0。这是一个错误吗?解决办法是什么?
2015 年 8 月更新:这是一个错误,并且已在 MONO 中修复。检查下面我的答案中的链接。
Code to reproduce:
JsonPrimitive a = new JsonPrimitive("<a href=\"\"/>");
//or the same: JsonPrimitive a = new JsonPrimitive(@"<a href=""/>");
Console.WriteLine(a.ToString());
//or Console.WriteLine((string)a);
//On the console screen I got: "<a href=\""/>"
//Ideal: "<a href=\"\"/>"
The version of my System.Json.dll is 2.0.5.0. Is it a bug? And what's the solution?
Aug 2015 UPDATE: It's a bug and already fixed in MONO. Check the link in my answer below.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
事实证明,这是 单声道。 JsonValue.cs 第 218 行 & 219 在方法
string DoEscapeString(StringBuilder sb, string src, int cur)
中。原始:
已修复:
报告给单声道团队。
It's proved to be a bug in the assembly System.Json of Mono. JsonValue.cs line 218 & 219 in the method
string DoEscapeString (StringBuilder sb, string src, int cur)
.Original:
Fixed:
reported to mono team.
如果您想获取
作为输出,请使用构造函数的字符串参数,如下所示:
或
阅读 http://msdn.microsoft.com/en-us/library/362314fe(v=VS.100).aspx
If you want to get
<a href=\"\"/>
as an output, use string parameter for the constructor like this:or
and read http://msdn.microsoft.com/en-us/library/362314fe(v=VS.100).aspx