2013-12-07 5 views
6

я разобран этот единственный JSon:Разбор массива JSON в к классу C#

{ 
    "text": "Sample Text", 
    "id": 123456789, 
    "user": { 
     "name": "ExampleUser", 
     "id": 123, 
     "screen_name": "ExampleUser" 
    }, 
    "in_reply_to_screen_name": null, 
    } 

моему C# класса RootObject:

public class User 
{ 
    public string name { get; set; } 
    public int id { get; set; } 
    public string screen_name { get; set; } 
} 

public class RootObject 
{ 
    public string text { get; set; } 
    public long id { get; set; } 
    public User user { get; set; } 
    public object in_reply_to_screen_name { get; set; } 
} 

так:

RootObject h = JsonConvert.DeserializeObject<RootObject>(string); 

All Это сработало отлично, но теперь я хотел бы проанализировать массив всех прецедентов json-объекта.

Например, это Json Массив:

[ 
    { 
    "text": "Sample Text", 
    "id": 123456789, 
    "user": { 
     "name": "ExampleUser", 
     "id": 123, 
     "screen_name": "ExampleUser" 
    }, 
    "in_reply_to_screen_name": null, 
    }, 
    { 
    "text": "Another Sample Text", 
    "id": 101112131415, 
    "user": { 
     "name": "ExampleUser2", 
     "id": 124, 
     "screen_name": "ExampleUser2" 
    }, 
    "in_reply_to_screen_name": null, 
    } 
] 

создать еще один класс:

public class ListRoot { 
     public List<RootObject> status { get; set; } 
    } 

, а затем использовали тот же метод:

ListRoot h = JsonConvert.DeserializeObject<ListRootObject>(string); 

Но это не работает. Вы знаете, как я могу проанализировать этот массив Json классу C#?

ответ

10

JSON вы должны работать, если вы просто десериализации это как List<RootObject>:

var h = JsonConvert.DeserializeObject<List<RootObject>>(string); 

Или массив:

var h = JsonConvert.DeserializeObject<RootObject[]>(string); 

Если вы хотите десериализации ListRoot, то JSON потребуется выглядят так:

{ 
    "status": [ 
     { 
      "text": "Sample Text", 
      ... 
     }, 
     { 
      "text": "Another Sample Text", 
      ... 
     } 
    ] 
} 
+0

Да, это работает, спасибо большое! – user2505650

Смежные вопросы