json.net是否有一个可以转义特殊字符的内置方法?我从供应商处收集的json字符串有\
,双"
。
如果不是在调用JsonConvert.DeserializeObject(myjsonString)
之前逃避特殊字符的最佳方法是什么?
我的示例json字符串
{
"EmailAddresses": [
{
"EmailAddress": "N\A"
}
]
}
在json lint中粘贴这个结果
Parse error on line 4:
... "EmailAddress": "N\A",
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
VB.NET代码
instanceofmytype = JsonConvert.DeserializeObject(Of myType)(myJsonString)
例外:Newtonsoft.Json.JsonReaderException: Bad JSON escape sequence:
答案 0 :(得分:2)
JSON无效:\
必须后跟以下其中一项:"\/bfnrtu
。由于它后跟A
,Json.NET会窒息(因为它应该)。应该修复JSON的来源。如果这不是一个选项,你可以猜测自己修复它,例如
myStr = Regex.Replace(myStr, "\\(?=[^""\\/bfnrtu])", "\\")
答案 1 :(得分:0)
你不应该担心它。 JSON.NET为您处理了许多好事。它应该工作。
你试过吗?