2012-04-01 9 views
1

私はJSON.NETを使用しています。私はWebServiceから取得する以下のオブジェクトを解析したいと思います。誰かがそれを行う方法の例を投稿できますか?C#のJSONオブジェクトを解析する

@"{""MessageType"":0, 
    ""Message"":""Success"", 
    ""Value"":[ 
       {""listId"":1, 
       ""listName"":""DemoList"", 
       ""itemInList"":[ 
        { 
        ""fromDate"":""\/Date(1228946400000)\/"", 
        ""fromLocation"":null, 
        ""toLocation"":null, 
        ""originalRequest"":""water"", 
        ""creationDate"":""\/Date(1339448400000)\/"", 
        ""typeId"":1 
        }, 
        { 
        ""fromDate"":null, 
        ""fromLocation"":null, 
        ""toLocation"":null, 
        ""originalRequest"":""gala"", 
        ""creationDate"":""\/Date(1304370000000)\/"", 
        ""typeId"":1 
        } 
       ]} 
    ]}" 

JSONオブジェクト

{ 
    "MessageType":0, 
    "Message":"UserLists", 
    "Value": 
      [ 
      { 
       "listId":1, 
       "listName":"DemoList", 
       "itemInList" 
        [ 
         { 
         "fromDate":"\/Date(1228946400000)\/", 
         "fromLocation":null, 
         "toLocation":null, 
         "originalRequest":"water", 
         "creationDate":"\/Date(1339448400000)\/", 
         "typeId":1 
         }, 
         { 
         "fromDate":null, 
         "fromLocation":null, 
         "toLocation":null, 
         "originalRequest":"gala", 
         "creationDate":"\/Date(1304370000000)\/", 
         "typeId":1 
         } 
        ], 
        "numberOfItems":2 
       } 
      ] 
    } 

感謝。あなたはこのようないくつかのエンティティを作成する必要が

+0

これは、そのようなJSONのC#ソースにある文字列リテラルです。文字列リテラル形式を表示することはそれほど有用ではありません。表示されるものがあれば、そうでない理由がない限り、*実際のJSON値を表示します。とにかく、*配布可能なものをダウンロードした後、付属のCHMヘルプファイルを読んでください。 –

答えて

7

public class Entity 
{ 
    public int MessageType { get; set; } 
    public string Message { get; set; } 
    public List<EntityValue> Value { get; set; } 
} 

public class EntityValue 
{ 
    public int listId { get; set; } 
    public string listName { get; set; } 
    public List<ItemInList> itemInList { get; set; } 
} 

public class ItemInList 
{ 
    public DateTime? fromDate { get; set; } 
    public string fromLocation { get; set; } 
    public string toLocation { get; set; } 
    public string originalRequest { get; set; } 
    public DateTime creationDate { get; set; } 
    public int typeId { get; set; } 
} 

エンティティ必見は、JSONデータのように同じ構造を有しています。 そして、あなたはメソッドを呼び出すことができます。それはすべての例外がある場合は

JsonConvert.DeserializeObject<Entity>(json); 

、あなたはそれが動作するまでのエンティティを調整する必要があります。

+0

ありがとう、私は今それを試してみましょう! – glarkou

+0

@ Dozer、最後にItemを呼び出す方法について、より具体的に記述できますか? – ikel

関連する問題