Newtosoft.Json错误的Json转义序列:v



我使用Newtosoft.Json来解析Json,这在C#中很正常:)

不幸的是,我得到了一个json字符串,如下所示:

{"data": {"str_1": "' u001ev u0003u001f"u0003u001d %b)v#"}}

调用JObject.Parse(aboveLine)会出现以下错误Bad JSON escape sequence: v. Path 'data.str_1', line 1, position [number].v是垂直线的符号。

有没有一种方法可以让我毫无例外地解析上面的json?

我检查了规范,发现'\v'是一个有效的JSON。此处提供了规格:https://www.json.com/json-object#object-带字符串

我还检查了源代码,它不支持'\v'。这就是为什么我创建了pull请求,我希望它能合并到Newtonsoft中。Json:https://github.com/JamesNK/Newtonsoft.Json/pull/489

更新

对我来说很不幸http://json.com是错误的,并且v不是JSON中的有效反弹字符。RFC 4627指定了所有这些,并且v不在其中:(我在上添加了对此的评论http://json.com

更新2

我在博客上详细描述了这个故事。如果您感兴趣,请查看:http://stapp.space/bad-json-escape-sequence-v/

使用u000B(垂直选项卡)而不是v,您将获得一个有效的JSON。

\v是垂直线的符号

u007C是垂直线|

最新更新