JSON:双引号问题

时间:2013-11-03 02:41:32

标签: c# .net json json.net

我正在尝试解析api调用返回的JSON数据。 Value的部分可能有双qutoes,表示以英寸为单位的项目大小。 示例:“description”:“size is 7”x 8“...”(我已截断字符串。)

json.net在解析该值时抛出异常。 我是Json的诺布,在C#上有些生疏。 我无法弄清楚如何解决这个问题。

这是我正在使用的代码。我正在清理任何html标签并设置以下设置参数。我已经研究了很多但谷歌没有帮助,因为使用像json escap parse等单词返回太多结果。

                string value = WebUtility.HtmlDecode(reader.ReadToEnd());
                value = Regex.Replace(value, "<.+?>", string.Empty);                    
                JsonSerializerSettings set = new JsonSerializerSettings();
                set.StringEscapeHandling = StringEscapeHandling.Default;
                set.StringEscapeHandling = StringEscapeHandling.EscapeHtml;
                set.StringEscapeHandling = StringEscapeHandling.EscapeNonAscii;

                myo = JsonConvert.DeserializeObject<myboject>(value,set);

1 个答案:

答案 0 :(得分:0)

只是做:

yourJsonString = yourJsonString.Replace("\"", "\\u022");
object o = JSonConvert.Deserialize(yourJsonString);

请记住,\ u022是双引号的ascii代码。因此,您的浏览器将识别替换\ u022的引号。

并在“\ u022”中使用\来使c#识别反斜杠字符。

干杯