Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 字符反序列化问题'\';_Vb.net_Json.net - Fatal编程技术网

Vb.net 字符反序列化问题'\';

Vb.net 字符反序列化问题'\';,vb.net,json.net,Vb.net,Json.net,json.net是否有可以转义特殊字符的内置方法?我从供应商处收到的json字符串有\,双“ 如果不是,在调用JsonConvert.DeserializeObject(myjsonString)之前,什么是逃避特殊字符的最佳方法 我的示例json字符串 { "EmailAddresses": [ { "EmailAddress": "N\A" } ] } 将其粘贴到json lint中会导致 第4行的分析错误: …“电

json.net是否有可以转义特殊字符的内置方法?我从供应商处收到的json字符串有
\
,双

如果不是,在调用
JsonConvert.DeserializeObject(myjsonString)
之前,什么是逃避特殊字符的最佳方法

我的示例json字符串

{
    "EmailAddresses": [
        {
            "EmailAddress": "N\A"

        }
    ]
}
将其粘贴到json lint中会导致 第4行的分析错误: …“电子邮件地址”:“N\A”,
-----------------------^ 应为“STRING”、“NUMBER”、“NULL”、“TRUE”、“FALSE”、“{”、“[”

VB.NET代码

instanceofmytype = JsonConvert.DeserializeObject(Of myType)(myJsonString)

例外情况:
Newtonsoft.Json.JsonReaderException:错误的Json转义序列:

您不必担心它。Json.NET为您处理了很多好事情。它应该可以正常工作

你试过了吗?

无效:a
\
后面必须跟以下内容之一:
“\/bfnrtu
。因为它后面跟a
a
,Json.NET会阻塞(正如它应该的那样)。Json的源代码应该是固定的。如果这不是一个选项,你可以自己猜一猜来修复它,例如

myStr = Regex.Replace(myStr, "\\(?=[^""\\/bfnrtu])", "\\")

是的,我编辑了我的?有更多的细节和例外,我有如果你用大括号包装示例输入会发生什么情况?
“{”+json+“}”
也尝试输入2``。你的示例不是json(缺少外部的
{…}
)…请展示完整的C#示例代码来演示问题-很有可能你只是做错了什么-有效的JSON可以有很多
`和
“`正确编码…你是如何形成JSON的?你应该使用一个好的JSON库,比如JSON.NET(用于.NET)或jQuery(用于JS)。如果你真的必须自己编写,请务必遵循所有的说明,以便可以阅读你的JSON。我需要转义所有特殊字符,对吗?我的JSON可以包含
`、
/
'
”、
#`