1

我正在尝试解析 api 调用返回的 JSON 数据。部分值可能有双引号,以英寸为单位指示项目大小。示例:"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);
4

1 回答 1

-2

做就是了:

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

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

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

干杯

于 2014-01-22T20:40:21.617 回答