Newtonsoft.Json Bad JSON转义序列:\ v。

时间:2015-02-19 13:40:44

标签: c# json json.net

我使用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以上的内容?

2 个答案:

答案 0 :(得分:2)

我检查了规格,发现' \ v'是一个有效的JSON。该规范可在此处获取:https://www.json.com/json-object#object-with-strings

我还检查了它不支持的源代码' \ 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/

答案 1 :(得分:0)

使用\u000B(垂直标签)代替\v,您将拥有有效的JSON。

  

\ v是垂直线的标志

\u007C是垂直线|