C# Newsoft.Json 反序列化失败,并显示嵌套的“.
本文关键字:显示 嵌套 Newsoft Json 反序列化 失败 | 更新日期: 2023-09-27 18:31:57
我通过HTTP请求从Web服务获取一些数据,如下所示:
{
...
"status" : "some_status",
...
}
返回的字符由'
转义(即 '"status'" : '"some_status'"
),我正在使用Newsoft.Json将返回的数据反序列化为(自定义)对象。问题是,当"some_status"
本身包含以下"
时:
{
...
"status" : "some_status "hello world"",
...
}
再次,每个"
都转义到'"
,反序列化失败并unexpected character
。
如何指定使用 Newsoft.Json
完全忽略或删除内部"
?或者如果不可能,也许使用Regex
?
谢谢。
没有 JSON
解析器能够处理一开始就格式不正确的 JSON 字符串。
因此,您需要确保您的模型格式正确并符合标准 JSON.org。
您的 JSON 字符串不正确。双引号之间的字符串不能包含其他双引号。如果有用,您可以使用在线编辑器测试您的 JSON 字符串:http://www.jsoneditoronline.org/
您不能删除双引号,否则您的结果不再被视为字符串,而是被视为整数。
我不知道您如何管理网络呼叫并具有反斜杠,但通常您应该有这样的东西:
WebClient client = new WebClient();
Stream stream = client.OpenRead("http://.....");
StreamReader reader = new StreamReader(stream);
object obj = Newtonsoft.Json.JsonConvert.DeserializeObject<object>`(reader.Read().ToString());
对象是要反序列化到的对象的类型