2011-07-27 13 views
1

私は外部ソースから(それを変更することはできません)いくつかのJSONを逆シリアル化しようとしています。私はデシリアライズするJSON.netを使用していますが、これは私が受け取るものの例である:未知のフィールドを持つJSONを逆シリアル化する

{ 
    "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 
    } 
} 

この方法では、私はオブジェクトのアルバムを作成し、オブジェクト・アルバム

[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; } 
} 

とすることができますように私が問題を抱えているのは、アルバムのIDとは何かを知る方法がないため、そのIDのアルバムにフィールドを作成する方法がないからです。アップロードおよびフィールドが、私はこれを達成するためにJSON.net内のオプションがあるべきだと思うが、私はそれを見つけることができませんアトレタグ付け...

ありがとうすべて

答えて

1

JSON受け取っがdictionnaryのようです。..

Dictionnary<string,Album>としてdeseserializeしようとしましたか?

+0

yay!どうして私はそれを見ることができなかったか想像できない...ありがとう! –

関連する問題