gpt4 book ai didi

c# - Json.Net 反序列化以索引为名称的 JSON 对象

转载 作者:行者123 更新时间:2023-11-30 14:31:02 26 4
gpt4 key购买 nike

<分区>

我正在尝试使用 Json.NET 从 Web 服务解析 JSON,该 Web 服务返回以下格式的数据:

{
"0": {
"ID": 193,
"Title": "Title 193",
"Description": "Description 193",
"Order": 5,
"Hyperlink": "http://someurl.com"
},
"1": {
"ID": 228,
"Title": "Title 228",
"Description": "Description 228",
"Order": 4,
"Hyperlink": "http://someurl.com"
},
"2": {
"ID": 234,
"Title": "Title 234",
"Description": "Description 234",
"Order": 3,
"Hyperlink": "http://someurl.com"
}
}

我用了json2sharp从 JSON 生成一个类:

public class __invalid_type__0
{
public int ID { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public int Order { get; set; }
public string Hyperlink { get; set; }
}

public class __invalid_type__1
{
public int ID { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public int Order { get; set; }
public string Hyperlink { get; set; }
}

public class __invalid_type__2
{
public int ID { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public int Order { get; set; }
public string Hyperlink { get; set; }
}

public class RootObject
{
public __invalid_type__0 __invalid_name__0 { get; set; }
public __invalid_type__1 __invalid_name__1 { get; set; }
public __invalid_type__2 __invalid_name__2 { get; set; }
}

然后我清理了类并留下了以下内容:

public class Articles
{
public int ID { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public int Order { get; set; }
public string Hyperlink { get; set; }
}

public class FeaturedArticles
{
public List<Articles> articles { get; set; }
}

当我尝试将数据加载到我的单例中以便在应用程序中使用时:

    private void fetchFeaturedArticles()
{
var client = new RestClient (_featuredArticlesJsonUrl);
var request = new RestRequest (Method.GET);
var response = client.Execute (request);
_featuredArticles = JsonConvert.DeserializeObject<FeaturedArticles> (response.Content);

foreach (Articles a in _featuredArticles.Articles)
Console.WriteLine (a.Title);
}

我发现文章没有反序列化。

我已验证 JSON 数据是从网络服务返回的。我认为问题存在于我的 JSON 提要的结构中,其中从提要返回的每个项目都有一个名称,该名称等于项目返回的索引。

我是 Json.NET 的新手,所以我不确定应该如何进行;我无法更改 JSON 提要的结构,但需要使用它的数据。有人有什么建议吗?

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