ServiceStack JsonSerializer DeserializeFromString正在删除双引号

时间:2013-11-21 13:16:14

标签: c# json servicestack

这是我正在处理的更深层嵌套json对象的简化版本,这是我遇到的一个问题。


首先尝试,如图所示,当我致电DeserializeFromString<T>()时,我会收到doc1和doc2 html代码,但原始var str1的引号已经消失。

PIC1。 enter image description here


第二次尝试,现在我分解了来自string - &gt;的“文档”。到Dictionary<string, string>看看会发生什么。您可以在第二张图片的调试视图中看到解析错误。

PIC2。 enter image description here


如何在字符串值中保留“双引号”?如何正确解析?

1 个答案:

答案 0 :(得分:4)

你的JSON基本上是无效的,因为如果你删除了C#的字符串转义,你得到:

"doc1":"<font color="black">hello ...

就JSON而言,这意味着你的字符串在“黑色”之前结束。您可能需要双重转义\

var str = "... \"doc1\":\"<font color=\\\"black\\\">hello ...";