JSON TO C#反序列化[关闭]
Posted
技术标签:
【中文标题】JSON TO C#反序列化[关闭]【英文标题】:JSON TO C# Deserializing [closed] 【发布时间】:2021-01-20 07:23:31 【问题描述】:有人可以帮我将这个 api https://www.freeforexapi.com/api/live?pairs=EURUSD,GBPUSD 中的 JSON 反序列化为 C# 对象吗?我尝试了很多我在网上找到的方法和示例,似乎都没有工作
【问题讨论】:
你有什么问题?请显示详细信息,例如生成的 JSON 示例和您尝试反序列化的 C# 类。 请列出您尝试过的示例,以及当它们不起作用时遇到的错误。 这是我得到的 JSON:"rates":"EURUSD":"rate":1.175883,"timestamp":1601901665,"code":200 我想要反序列化速率、时间戳和代码 【参考方案1】:这里的 rate 是 Map,所以 Response C# 类看起来像这样:
public class Response
public Dictionary<string, Rate> Ratesget;set;
public int Code get;set;
public class Rate
public double Rate get; set;
public long TimeStamp get; set;
反序列化:
var obj = JsonConvert.DeserializeObject<Response>(jsonObject);
【讨论】:
【参考方案2】:例如,使用 newtonsoft json 创建响应类
public class EURUSD
public double rate get; set;
public int timestamp get; set;
public class GBPUSD
public double rate get; set;
public int timestamp get; set;
public class Rates
public EURUSD EURUSD get; set;
public GBPUSD GBPUSD get; set;
public class Root
public Rates rates get; set;
public int code get; set;
然后反序列化响应,比如
Root myDeserializedClass = JsonConvert.DeserializeObject<Root>(myJsonResponse);
您可以使用 json2csharp 网站轻松生成这样的类^
【讨论】:
以上是关于JSON TO C#反序列化[关闭]的主要内容,如果未能解决你的问题,请参考以下文章