从JSON的重复词典进行重复的序列化



我正在尝试使用json.net删除大型JSON文件。我无法在此文件中删除嵌套词典。包含这些词典的对象的名称在文件中重复了数千次。我提供的代码是我要处理的小型文件的小型缩短版本,以显示这些重复的嵌套词典的示例。我正在寻找一种将数千个" image_uris"内容进行序列化的解决方案,以便我可以访问每个" image_uris"中的"小","中"one_answers"大键和值"对象。

[
    {
        "object":"card",
        "id":"789",
        "image_uris":
        {
            "small":"https://img...98713",
            "medium":"https://img...89712",
            "large":"https://img...97123",
        }
    },
    {
        "object":"card",
        "id":"654",
        "image_uris":
        {
            "small":"https://img...43243",
            "medium":"https://img...26267",
            "large":"https://img...00812",
        }
    },
    {
        "object":"card",
        "id":"091",
        "image_uris":
        {
            "small":"https://img...98760",
            "medium":"https://img...92331",
            "large":"https://img...87690",
        }
    }
]

我一直在与json.net一起使用C#的Unity游戏引擎。我尝试通过馈送整个JSON文件来使用http://json2csharp.com/。它吐出了〜1700行代码,并在顶部评论了实现指令。我不确定如何通过按照这些说明访问这些类中的所有生成的类和数据。这些说明如下:

// <auto-generated />
//
// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do:
//
//    using QuickType;
//
//    var scryfallDefaultCards = ScryfallDefaultCards.FromJson(jsonString);

不确定问题是什么,但我只是将您的JSON摘要粘贴到了您去的同一站点中并得到了此信息:

public class ImageUris
{
    public string small { get; set; }
    public string medium { get; set; }
    public string large { get; set; }
}
public class RootObject
{
    public string @object { get; set; }
    public string id { get; set; }
    public ImageUris image_uris { get; set; }
}

但是您的JSON是一个数组,您应该像这样进行挑选:

var result = JsonConvert.DeserializeObject<List<RootObject>>(jsonString);

它应该使用较大的JSON字符串

使用相同的工作

相关内容

  • 没有找到相关文章

最新更新