2012-01-09 8 views
3

RESTful APIからJSONオブジェクトの形式で応答が返ってきました。通常は、キーがわかっているときにこれを正しく解析できます。例えば、私はこのようなUserクラスを作成:JSONをC#で解析する

[DataContract] 
public class User 
{ 
    [DataMember] 
    public string id { get; set; } 

    [DataMember] 
    public string name { get; set; } 

    [DataMember] 
    public string email { get; set; } 
} 

を私がしなければならないのは、私のJSONのデシリアライザに応答を読み出して出力が<ユーザー>であると私は行ってもいいよということを教え引きです。これは、販売データなどの他の要求を行う場合には不足します。私は戻って取得応答は次のようなものです:私は[DataContract]として、このクラスをモデル化することができれば

{ 
    "2010-11-24": { 
    "country": null, 
    "iso": null, 
    "product": null, 
    "downloads": 39, 
    "net_downloads": 38, 
    "updates": 6, 
    "revenue": "19.02", 
    "returns": 1, 
    "gift_redemptions": 0, 
    "promos": 0 
    }, 
    "2010-11-25": { 
    "country": null, 
    "iso": null, 
    "product": null, 
    "downloads": 63, 
    "net_downloads": 63, 
    "updates": 6, 
    "revenue": "37.00", 
    "returns": 0, 
    "gift_redemptions": 0, 
    "promos": 0 
    } 
} 

、私は黄金のだろうが、最初のキーは日付があることから、私はそのハードコードはできません。

このようなレスポンスを受け取り、強く型付けされたC#クラスに変換できるJSONライブラリがありますか?レコードの

は、私はJSONHelper used in this SO question.

+0

これらのキーは 'string'または' DateTime'で表されるべきですか? – svick

+0

私はそれを文字列または日時として扱います - それは問題ではありません。 –

答えて

5

JSON.NETを使用していますが、最良/最速/最も安定したJSONのC#ライブラリとして認識されています。私はそれを使用した、それは広告として動作します。

+0

それで、私はドキュメントをダウンロードして見ました。私が以前行ったことを正確に行うことができ、JSONを逆シリアル化するクラスを作成するように見えますが、まだ固まっています。私はキーを知らないクラスにどのように逆直列化するのですか? –