使用C#DataContractJsonSerializer解析名为数组的JSON

时间:2015-04-17 05:01:10

标签: c# arrays json serialization datamember

如何使用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#中结构中的内容?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用[JsonExtensionData]

将奇怪的变量名称放在字典中
[JsonExtensionData]
public Dictionary<string, object> strangeVariables { get; set; } 

这将在Response对象中。