反序列化带有未知字段的JSON



我试图反序列化一些JSON我收到从外部源(没有办法改变它),我有一些问题。我使用JSON.net来反序列化,这是我收到的一个示例:

{
    "uploaded":
    {
        "name":"Uploaded by me",
        "size":3768,
        "last_change_time":1310470698
    },
    "tagged":
    {
        "name":"Photos I'm tagged in",
        "size":6937,
        "last_change_time":1311730303
    },
    "4019677_60607060":
    {
        "name":"Asad",
        "size":63,
        "last_change_time":1271315304
    },
    "4611824_60607060":
    {
        "name":"ASDF",
        "size":64,
        "last_change_time":1262645480
    }
}
这样,我就创建了一个对象Albums和一个对象Album
[DataContract]
public class Albums
{
    [DataMember]
    public Album uploaded  { get; set; }
    [DataMember]
    public Album tagged { get; set; }
}
[DataContract]
public class Album
{
    [DataMember]
    public string name { get; set; }
    [DataMember]
    public int size { get; set; }
    [DataMember]
    public int last_change_time { get; set; }
}

如你所见,对于Albums对象,我有一个问题,因为我无法知道专辑的id是什么,因此,我无法用那个id在Albums中创建字段。上传和标记字段的属性,我认为应该有一个选项在JSON.net实现这一点,但我找不到它…

谢谢大家

收到的JSON似乎是一个字典..

您是否尝试将其反序列化为Dictionnary<string,Album> ?

相关内容

  • 没有找到相关文章

最新更新