c#将json解析为对象
我需要一些帮助来将json rest从IsThereASale API解析为c#对象,但由于json布局,我被卡住了: 这里我需要的是来自数据数组的信息 下面是我获取json响应的方式:c#将json解析为对象,c#,C#,我需要一些帮助来将json rest从IsThereASale API解析为c#对象,但由于json布局,我被卡住了: 这里我需要的是来自数据数组的信息 下面是我获取json响应的方式: var client = new RestClient("https://api.isthereanydeal.com/"); client.UseNewtonsoftJson(); var request = new RestRequest("https://api.isthereanydeal.c
var client = new RestClient("https://api.isthereanydeal.com/");
client.UseNewtonsoftJson();
var request = new RestRequest("https://api.isthereanydeal.com/v01/deals/list/?key=" + Config.apiKey + "&sort=time");
var json = JsonConvert.DeserializeObject<Dictionary<string, string>>(response.Content);
var client=new RestClient(“https://api.isthereanydeal.com/");
client.UseNewtonsoftJson();
var请求=新的重新请求(“https://api.isthereanydeal.com/v01/deals/list/?key=“+Config.apiKey+”&sort=time”);
var json=JsonConvert.DeserializeObject(response.Content);
正如您在上面所注意到的,我试图将其转换为字典,但没有成功。您可以使用它
到
公共部分类数据
{
公共长计数{get;set;}
//或公共动态列表{get;set;}
公共列表{get;set;}
公共数据URL{get;set;}
}
您可以使用
到
公共部分类数据
{
公共长计数{get;set;}
//或公共动态列表{get;set;}
公共列表{get;set;}
公共数据URL{get;set;}
}
请再添加一个API返回的json示例好吗?@Martin Staufcik查看我发布的链接。我的意思是,它不是字典,它是一个复杂的对象类型。我看不到你的请求在起作用。。。但是,反序列化对象
应该接受一个类或一个接口,该类或接口与您从该api获得的响应类似,而不是一个字典
您可以添加一个api返回的json示例吗?@Martin Staufcik检查我发布的链接。我的意思是,它不是字典,它是一个复杂的对象类型。我看不到你的请求在起作用。。。但是,反序列化对象
应该接受一个类或接口,该类或接口与您从该api获得的响应类似,而不是一个字典
谢谢。但我注意到,返回的json并不总是具有相同的值:ArgumentException:必须在字符串中指定用于解析的有效信息。好的,这是您首先需要在帖子中指出的:)如果您知道json的哪些部分发生了更改,可以用dynamic替换该类型。检查我的编辑好的,谢谢。代表商店的数组发生了什么变化:public enum Id{Dlgamer};公共枚举名{DlGamer};以下是新的值。您可以注意到我对json的更改。它们是根据Salei上的尊重游戏商店而改变的谢谢,我最后想出来了:)谢谢。但我注意到,返回的json并不总是具有相同的值:ArgumentException:必须在字符串中指定用于解析的有效信息。好的,这是您首先需要在帖子中指出的:)如果您知道json的哪些部分发生了更改,可以用dynamic替换该类型。检查我的编辑好的,谢谢。代表商店的数组发生了什么变化:public enum Id{Dlgamer};公共枚举名{DlGamer};以下是新的值。您可以注意到我对json的更改。它们是根据Salei上可用于“尊重”游戏的商店进行更改的谢谢,我最后发现了:)
public partial class Orfelefane
{
public Meta Meta { get; set; }
public Data Data { get; set; }
}
public partial class Data
{
public long Count { get; set; }
public List<List> List { get; set; }
public DataUrls Urls { get; set; }
}
public partial class List
{
public string Plain { get; set; }
public string Title { get; set; }
public double PriceNew { get; set; }
public double PriceOld { get; set; }
public long PriceCut { get; set; }
public long Added { get; set; }
public long? Expiry { get; set; }
public Shop Shop { get; set; }
public List<Drm> Drm { get; set; }
public ListUrls Urls { get; set; }
}
public partial class Shop
{
public Id Id { get; set; }
public Name Name { get; set; }
}
public partial class ListUrls
{
public Uri Buy { get; set; }
public Uri Game { get; set; }
}
public partial class DataUrls
{
public Uri Deals { get; set; }
}
public partial class Meta
{
public string Currency { get; set; }
}
public enum Drm { DrmFree, Steam };
public enum Id { Bundlestars, Gog, Itchio, Steam };
public enum Name { Fanatical, Gog, ItchIo, Steam };
var json = JsonConvert.DeserializeObject<Orfelefane>(response.Content);
var json = JsonConvert.DeserializeObject<dynamic>(response.Content);
public partial class Data
{
public long Count { get; set; }
public List<List> List { get; set; }
public DataUrls Urls { get; set; }
}
public partial class Data
{
public long Count { get; set; }
//OR public dynamic List {get; set;}
public List<dynamic> List { get; set; }
public DataUrls Urls { get; set; }
}