【发布时间】:2021-10-21 14:13:27
【问题描述】:
我通过 ajax 调用调用第三方 API 并使用 Model 对象返回数据。
public class AddressModel
{
public List<Address> address {get; set;}
public List<Component> components {get; set;}
}
public class Address
{
public string address1 { get; set;}
public string address2 { get; set;}
public string postalCode { get; set;}
}
API 控制器:
[HttpGet]
public IHttpActionResult GetAddress(string id)
{
** code **
var addr = _service.GetAddressById(id);
return Ok(addr);
}
public AddressModel GetAddressById(string id)
{
** code **
HttpResponseMessage response = client.GetAsync(uri).Result;
return response.Content.ReadAsAsync<AddressModel>().Result;
}
但我得到的 Json 数据如下:
"address" : [
{
"address1: "Via Benedetto",
"address2: null,
"postalCode": null
},
{
"address1": null,
"address2": "Viadanna",
"postalCode": null
},
{
"address1": null,
"address2": null,
"postalCode": "01234"
}
]
它正在返回一个列表列表。它应该只返回一个列表
我期待这个:
"address" : [
{
"address1: "Via Benedetto",
"address2": "Viadanna",
"postalCode": "01234"
}
]
【问题讨论】:
-
那个json只是一维数组或者列表。那么这里的问题是什么?这根本不是嵌套数组。
-
我期待这个结果:"address" : [ { "address1: "Via Benedetto", "address2": "Viadanna", "postalCode": "01234" }, ]
-
这就是您发布的内容,那么,实际问题是什么?
-
如果您收到 不同的 json,请在您的问题中发布。
-
请确保您要返回“地址”类型的对象,而不是“地址模型”。您的 api 正在返回 AdressModel 并且您共享的 json 考虑到返回类型是正确的。
标签: c# json asp.net-web-api postman