我使用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以上的内容?
答案 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
是垂直线|