gpt4 book ai didi

c# - 键值未知时反序列化 JSON

转载 作者:行者123 更新时间:2023-11-30 13:45:59 25 4
gpt4 key购买 nike

如何在 C# 中使用 JSON.net 反序列化 JSON,其中键值未知(它们是多个设备的 MAC 地址)。可能有一个或多个 key 条目。

{
"devices":
{
"00-00-00-00-00-00-00-00":
{
"name":"xxx",
"type":"xxx",
"hardwareRevision":"1.0",
"id":"00-00-00-00-00-00-00-00"
},
"01-01-01-01-01-01-01-01":
{
"name":"xxx",
"type":"xxx",
"hardwareRevision":"1.0",
"id":"01-01-01-01-01-01-01-01"
},
}
}

最佳答案

您可以使用字典将 MAC 地址存储为键:

public class Device
{
public string Name { get; set; }
public string Type { get; set; }
public string HardwareRevision { get; set; }
public string Id { get; set; }
}

public class Registry
{
public Dictionary<string, Device> Devices { get; set; }
}

以下是反序列化示例 JSON 的方法:

Registry registry = JsonConvert.DeserializeObject<Registry>(json);

foreach (KeyValuePair<string, Device> pair in registry.Devices)
{
Console.WriteLine("MAC = {0}, ID = {1}", pair.Key, pair.Value.Id);
}

输出:

MAC = 00-00-00-00-00-00-00-00, ID = 00-00-00-00-00-00-00-00
MAC = 01-01-01-01-01-01-01-01, ID = 01-01-01-01-01-01-01-01

关于c# - 键值未知时反序列化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24901076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com