如何将JSON响应映射到自定义类对象

我使用unirest.io在C#中调用API。 我得到了JSON响应(作为response.Body )。

{ "persons": [{ "id": "a010", "name": "Joe", "subjects": [ "Math", "English" ] }, { "id": "b020", "name": "Jill", "subjects": [ "Science", "Arts" ] }] } 

我尝试将此映射到我的自定义类对象,如下所示。

 HttpRequest request = Unirest.get(API_V1_URL).header("accept", "application/json"); HttpResponse response = request.asString(); var serializer = new JavaScriptSerializer(); persons = serializer.Deserialize(response.Body); 

但它总是通过设置persons.infos = NULL来传递;

我的自定义课程

 public class Persons { public PersonInfo[] infos; } public class PersonInfo { public string id; public string name; public string[] subjects; } 

请帮助我如何正确地将这样的JSON映射到我的.Net类对象?

传递Persons Deserialize而不是Vendors

 persons = serializer.Deserialize(response.Body); 

重命名财产

 public PersonInfo[] infos; 

 public PersonInfo[] persons; 

此外,我建议您使用自动属性。 即

 public PersonInfo[] persons{get;set;}