将 JSON 转换为 .net 中不同数量的字段

问题描述 投票:0回答:1

我的结构是这样的:

public enum Roles
{
ROLE_1,
ROLE_2,
ROLE_3,
...
ROLE_20
}
public enum Status
{
NONE,
ACTIVE,
REFUSE
...
}

根据用户,我可以从 API 接收 JSON 中的各种数量的角色,如下所示:

{
    "ROLE_1": "NONE",
    "ROLE_2": "ACTIVE"
    "ROLE_3": "ACTIVE"
}

{
    "ROLE_2": "ACTIVE"
}

在 C# .Net 中处理此问题的最佳方法是什么?我正在考虑一本字典,但我不知道如何正确序列化它。

我尝试用动态对象处理这个问题,但也许是解决这个问题更简单的方法?

c# json .net serialization
1个回答
0
投票
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.Converters.Add(new StringEnumConverter());

// Deserialize the JSON into a dictionary
var roleStatuses = JsonConvert.DeserializeObject<Dictionary<Roles, Status>>(json, settings);
© www.soinside.com 2019 - 2024. All rights reserved.