我使用Newtosoft.Json来解析JSON,这在C#中是很正常的:)
不幸的是,我得到了一个如下所示的json字符串来解析:
{"data": {"str_1": "' \u001e\v \u0003\u001f"\u0003\u001d %\b)\v#"}}调用JObject.Parse(aboveLine)会给我一个错误,比如Bad JSON escape sequence: \v. Path 'data.str_1', line 1, position [number]. \v是垂直线的符号。
有没有办法可以无异常地解析上面的json?
发布于 2015-02-20 02:04:52
我检查了规范,发现'\v‘是一个有效的JSON。该规范可在此处获得:https://www.json.com/json-object#object-with-strings
我还检查了源代码,它不支持'\v‘。这就是我创建拉取请求的原因,我希望它能合并到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/
发布于 2015-02-19 21:54:44
使用\u000B (垂直制表符)代替\v,您将拥有一个有效的JSON。
\v是垂直线的符号
\u007C为垂直线|
https://stackoverflow.com/questions/28607899
复制相似问题