首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用FastJSON将json解析为dictionary<string、SoilStat>

如何使用FastJSON将json解析为dictionary<string、SoilStat>
EN

Stack Overflow用户
提问于 2015-12-19 13:11:47
回答 1查看 199关注 0票数 0

如何使用FastJSON将json转换为字典。字符串(Key)是土壤的名称。

非常感谢!

代码语言:javascript
运行
复制
    "Soil": [
        {
            "name": "Pebbiland",
            "retentionrate": 1,
            "cost": 100
        },
        {
            "name": "Sandiland",
            "retentionrate": 4,
            "cost": 500
        },
        {
            "name": "Spongiland",
            "retentionrate": 8,
            "cost": 1000
        }


public class SoilStat
{
    public int retentionRate;
    public int cost;
}


Dictionary<string, SoilStat> _soilList = new Dictionary<string, SoilStat>();
EN

回答 1

Stack Overflow用户

发布于 2015-12-20 02:11:55

首先,您的JSON不完整。我假设你真的是这个意思:

代码语言:javascript
运行
复制
{
    "Soil": 
    [
        {
            "name": "Pebbiland",
            "retentionrate": 1,
            "cost": 100
        },
        {
            "name": "Sandiland",
            "retentionrate": 4,
            "cost": 500
        },
        {
            "name": "Spongiland",
            "retentionrate": 8,
            "cost": 1000
        }
    ]
}

您可以使用以下代码在fastJSON中解析上述JSON:

代码语言:javascript
运行
复制
public class Root
{
    public List<SoilStat> Soil;
}

public class SoilStat
{
    public string name;
    public int retentionRate;
    public int cost;
}

Root root = fastJSON.JSON.ToObject<Root>(jsonString);

如果你需要它作为字典,你可以像这样转换它(假设所有的名字都是唯一的):

代码语言:javascript
运行
复制
Dictionary<string, SoilStat> _soilList = root.Soil.ToDictionary(o => o.name);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34367486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档