gpt4 book ai didi

c# - 如何反序列化 oData JSON?

转载 作者:IT王子 更新时间:2023-10-29 04:32:17 24 4
gpt4 key购买 nike

我正在尝试使用 Northwind OData 服务:

http://services.odata.org/V3/OData/OData.svc/Products?$format=json

并将其反序列化为产品集合:

    using (var client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(new Uri(url));
ObservableCollection<Product> products = await response.Content.ReadAsAsync<ObservableCollection<Product>>();
}

但序列化程序似乎不喜欢 odata.metadata 部分,而且那里有 2 个 odata.type 记录(不确定它们是什么) .

有没有简单的方法来做到这一点?

最佳答案

使用 Json.Net

using (var client = new HttpClient())
{
var json = await client.GetStringAsync("http://services.odata.org/V3/OData/OData.svc/Products?$format=json");
var odata = JsonConvert.DeserializeObject<OData>(json);
}

public class Value
{
[JsonProperty("odata.type")]
public string Type { set; get; }
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public DateTime ReleaseDate { get; set; }
public DateTime? DiscontinuedDate { get; set; }
public int Rating { get; set; }
public double Price { get; set; }
}

public class OData
{
[JsonProperty("odata.metadata")]
public string Metadata { get; set; }
public List<Value> Value { get; set; }
}

关于c# - 如何反序列化 oData JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26820275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com