【发布时间】:2015-04-17 05:01:10
【问题描述】:
如何使用 DataContractJsonSerializer 解析没有修复名称的 JSON 数组?假设一个 JSON 结构是这样的:
{
"SUMMARY":
{
"0123":
[
{
"Type": "Type_A",
"Duration": 100
}
]
}
}
在 C# 中,我可以如下初始化两个数据对象,以使用 DataContractJsonSerializer 解析它们,如下所示:
[DataContract]
public class numberedStruct {
[DataMember(Name = "Type")]
public string Type {get; set;}
[DataMember(Name = "Duration")]
public int Duration{get; set;}
}
[DataContract]
public class summaryStruct {
[DataMember(Name = "0123")]
public numberedStruct[] s;
}
但是,如果“0123”也是一个变量并且可以是其他变量怎么办?所以我无法将 DataMember 名称固定为“0123”。
如何获取“0123”作为变量以及 C# 结构中的内容?
【问题讨论】:
-
视情况而定,结构相同,结构中的位置对于“0123”总是相同的?
-
c#中变量名不能为数字。
-
感谢您的 cmets。 “0123”只是一个例子。实际上它不是变量的名称,而是实际情况下变量的值,所以它可以是“abcd”或“defg”。我不确定如何解析这种类型的结构,因为它没有静态变量名。
标签: c# arrays json serialization datamember