the*_*ter 4 c# json jsonserializer unirest
我正在使用unirest.io在 C# 中调用 API 。我得到以下 JSON 响应(作为response.Body)。
{
"persons": [{
"id": "a010",
"name": "Joe",
"subjects": [
"Math",
"English"
]
},
{
"id": "b020",
"name": "Jill",
"subjects": [
"Science",
"Arts"
]
}]
}
Run Code Online (Sandbox Code Playgroud)
我尝试将其映射到我的自定义类对象,如下所示。
HttpRequest request = Unirest.get(API_V1_URL).header("accept", "application/json");
HttpResponse<string> response = request.asString();
var serializer = new JavaScriptSerializer();
persons = serializer.Deserialize<Persons>(response.Body);
Run Code Online (Sandbox Code Playgroud)
但它总是通过设置people.infos = NULL ;
我的自定义类
public class Persons
{
public PersonInfo[] infos;
}
public class PersonInfo
{
public string id;
public string name;
public string[] subjects;
}
Run Code Online (Sandbox Code Playgroud)
请帮助我如何将此类 JSON 正确映射到我的 .Net 类对象?
通过Persons在Deserialize<T>代替Vendors
persons = serializer.Deserialize<Persons>(response.Body);
Run Code Online (Sandbox Code Playgroud)
重命名属性
public PersonInfo[] infos;
Run Code Online (Sandbox Code Playgroud)
到
public PersonInfo[] persons;
Run Code Online (Sandbox Code Playgroud)
此外,我建议您使用自动属性。IE
public PersonInfo[] persons{get;set;}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10613 次 |
| 最近记录: |