Json.NET:使用双引号进行消毒

fra*_*ins 4 c# json json.net double-quotes

我试图反序列化作为服务响应收到的json字符串.客户端是Windows Phone 7,在C#中.我正在使用Json .NET - James Newton-King deserializor直接将Json字符串转换为对象.但有时Json字符串包含一些带有双引号(")的注释信息,并且反序列化器失败并抛出错误.根据Jsonlint看起来这是一个无效的Json字符串.

{
    "Name": "A1",
    "Description": "description of the "object" A1"
}
Run Code Online (Sandbox Code Playgroud)

如何处理这样的Json String.如果它是(\"),那么它可以工作.但我不能用(\")替换所有("),​​因为在json字符串的其他部分可能有双引号.是否有任何Json .Net的解码函数?

ITm*_*eze 11

它看起来像HttpUtility.JavaScriptStringEncode可能会解决您的问题.

HttpUtility.JavaScriptStringEncode(JsonConvert.SerializeObject(yourObject))
Run Code Online (Sandbox Code Playgroud)