json.net是否有一个可以转义特殊字符的内置方法?我从供应商那里收到的json字符串有,双
"
。
如果不是,在调用JsonConvert.DeserializeObject(myjsonString)
之前,逃离特殊角色的最佳方法是什么?
我的示例json字符串
{
"EmailAddresses": [
{
"EmailAddress": "NA"
}
]
}
将其粘贴到json-lint中会导致Parse error on line 4:
... "EmailAddress": "NA",
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
VB。NET代码
instanceofmytype = JsonConvert.DeserializeObject(Of myType)(myJsonString)
异常:Newtonsoft.Json.JsonReaderException: Bad JSON escape sequence:
JSON无效:后面必须跟以下内容之一:
"/bfnrtu
。因为后面是A
,Json。NET窒息(应该如此)。JSON的来源应该是固定的。如果这不是一个选项,你可以自己猜测来解决它,例如
myStr = Regex.Replace(myStr, "\(?=[^""\/bfnrtu])", "\")
您不必担心它。JSON。NET为您处理了很多好事情。它应该只是工作。
你试过了吗?