【发布时间】:2021-02-09 22:25:45
【问题描述】:
我正在尝试将一个相当大的 Json 反序列化为我制作的 C# 类。 类中的所有对象都已正确反序列化,但 JsonConvert 对两个对象有问题。它们是 C# 中的字符串,其中一些字符串正确返回,其他字符串为空。由于 Json 非常大(30MB),我只能在这里发布一小段摘录,但它应该让您了解 JSON 的结构:
"attributes" : {
"AnzahlFall" : 1,
"Meldedatum" : 1585612800000,
"IdLandkreis" : "08327",
"Datenstand" : "26.10.2020, 00:00 Uhr",
}
这是众多领域之一。有问题的字符串是“IdLandkreis”和“Datanstand”。在 Json 文件中,这些值中的任何一个都无法为空或为空,但我在再次反序列化和序列化后得到的是:
"attributes" :
{"AnzahlFall":1,
"NeuerFall":0,
"Meldedatum":1601510400000,
"DatenStand":null,
"idLandkreis":null
}
这是整个 C# 部分:
public class Attributes
{
public int AnzahlFall { get; set; }
public int NeuerFall { get; set; }
public long Meldedatum { get; set; }
public string DatenStand { get; set; }
public string idLandkreis { get; set; }
}
public class Report
{
public Attributes attributes { get; set; }
}
public class Caselist
{
public bool exceededTransferLimit { get; set; }
public List<Report> features { get; set; }
}
我用它来调用 JsonConverter:
案例列表 rki_data = JsonConvert.DeserializeObject(readData());
我尝试了什么:
- 为“iDLandkreis”使用其他数据类型,例如 int -> 仍然为 0
我重命名了变量,但没有任何变化。通过 Caselist 解析时,输出看起来像这样:
Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid 01060Landkreisid Landkreisid Landkreisid Landkreisid Landkreisid Landkreisid Landkreisid Landkreisid Landkreisid Landkreisid Landkreisid Landkreisid Landkreisid P>
这些数据是关于 Covid-19 的,由德国当地的一家科学研究所提供
你可以在这里得到一部分数据(它被分成许多文件):
非常感谢您的帮助。
您好, 乔纳森
【问题讨论】:
-
c# 模型中的这些属性是什么数据类型?您正在运行什么代码来进行反序列化?
-
将信息添加到帖子中
-
Datenstand在 json 和DatenStand在 poco。如果您想保留您的 poco 名称,请使用[JsonProperty("Datenstand")],但序列化名称应该不同