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

谢谢。

C# Newsoft.Json 反序列化失败,并显示嵌套的“.

没有 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());

对象是要反序列化到的对象的类型