JSON枚举列表反序列化



我在下面有类似JSON的

{
    "_id": "0FEB6D4B-8DA5-4143-B926-11A7AE4F3B12",
    "device": {
        "name": "test",
        "family": "test"
    },
    "channels": [
        {
            "mcl": 33,
            "vtype": "FLOAT",
            "category": " Current"
        },
        {
            "tag": "OperationMode",
            "vtype": "BYTE",
            "enums": [
                {
                    "0": "Off"
                },
                {
                    "1": "On"
                },
                {
                    "2": "ByPass"
                }
            ]
        }
    ]
}

我正在使用Json.net将JSON反序列化为C#对象。我无法转换枚举列表。我验证了这是否是有效的JSON。我尝试了自定义转换器&字符串转换器,但读取器值为null。感谢您的快速帮助。

JObject jR = JObject.Parse(YourJsonString);
JArray oR = (JArray)jR["channels"];     
JArray jA = (JArray)oR[1]["enums"];
foreach (var item in jA)
{
    Dictionary<string,string> enums = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string,string>>(item.ToString());            
    foreach (var en in enums)
    {
        Console.WriteLine(en.Value);
    }
}

小提琴手:https://dotnetfiddle.net/ziSep1

相关内容

  • 没有找到相关文章

最新更新