【发布时间】:2022-09-26 15:38:34
【问题描述】:
这是 JSON 文件的示例:
{
\"Object\": {
\"series\": {
\"transformation\": \"\",
\"source\": \"series\",
\"default\": \"\"
},
\"latitude\": {
\"transformation\": \"\",
\"source\": \"lat\",
\"default\": \"\"
},
\"longitude\": {
\"transformation\": \"\",
\"source\": \"long\",
\"default\": \"\"
}
}
}
我目前使用JsonConvert.DesirializeT()进行反序列化的课程
internal class ImportedObjects
{
[JsonProperty(\"Object\")]
public ImportedSubProperties ImportedObject { get; set; }
internal class ImportedSubProperties : ImportedObjects
{
[JsonProperty(\"series\")]
public ImportedProperties series { get; set; }
[JsonProperty(\"latitude\")]
public ImportedProperties latitude { get; set; }
[JsonProperty(\"longitude\")]
public ImportedProperties longitude { get; set; }
}
}
internal class ImportedProperties
{
public string Transformation { get; set; }
public string Source { get; set; }
public string Default { get; set; }
}
当前解析代码:
using (StreamReader r = new StreamReader(file))
{
string json = r.ReadToEnd();
MappingObjects = JsonConvert.DeserializeObject<ImportedObjects>(json);
}
当只有 3 个属性(系列、纬度、经度)时,一切看起来都很好,但在实际文件中,“经度”(X、Y、大小……)之后至少有 50 个属性。我的问题:是否可以在不创建额外 50 个属性的情况下优化反序列化?最好将所有内容直接存储到字典中。