【发布时间】:2011-07-27 11:44:56
【问题描述】:
我正在尝试反序列化从外部来源收到的一些 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 是什么,因此我无法在 Albums 中使用该 id 创建字段。上传和标记的字段 atre 我认为 JSON.net 中应该有一个选项来实现这一点,但我找不到它......
谢谢大家
【问题讨论】:
标签: silverlight field json.net deserialization