You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将BookShops的BookID单行转换为List<int>类型的GlobalBookIDs?

单行代码实现BookID转换为List类型的GlobalBookIDs?

原始JSON数据

"BookShops": [
    {
        "Name": "Modern",
        "BookID": [
            "101"
        ]
    },
    {
        "Name": "Windshore",
        "BookID": [
            "102"
        ]
    },
    {
        "Name": "Winter",
        "BookID": [
            "105"
        ]
    }
]

转换需求

每个BookShops元素的BookID是仅含单个字符串的数组,需将这些BookID转换为List<int>类型的GlobalBookIDs,预期结果如下:

"GlobalBookID":[101,102,105]

对应的类定义:

List<int> GlobalBookIDs

回答

完全可以用单行代码实现,以C#为例,结合LINQ就能完成:

场景1:已将JSON反序列化为实体对象

假设反序列化后的数据对象为data,其中包含BookShops集合属性:

var GlobalBookIDs = data.BookShops.Select(shop => int.Parse(shop.BookID.First())).ToList();

场景2:直接处理JSON字符串(使用Newtonsoft.Json)

无需提前反序列化为实体,直接解析JSON字符串完成转换:

var GlobalBookIDs = JObject.Parse(jsonString)["BookShops"].Select(shop => int.Parse(shop["BookID"][0].ToString())).ToList();

代码逻辑说明:通过LINQ遍历每个书店条目,取出BookID数组的第一个元素,将字符串类型的ID转换为int,最后将所有结果收集为List<int>,完全匹配需求。

内容的提问来源于stack exchange,提问作者Carrie Kaski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 02:45:34