如何在 JSON.NET 中反序列化具有未固定名称的 json 数组



我有一个关于如何反序列化具有未固定名称的 json 数组的问题,例如我有一个 json 字符串,如下所示。

[
  {
    "37414": "MP",
    "weight": 1000
  },
  {
    "21253": "Develper",
    "weight": 424
  },
  {
    "66344": "APP",
    "weight": 1158
  },
  {
    "1622": "API",
    "weight": 164
  }
]

我还定义了一个类,如下所示,并希望使用 JSON.NET 将 json 字符串反序列化为 UserTag 对象。或者我应该更改类定义。

public class UserTag
{
    // "37414"
    public long Id { get; set; }
    // MP
    public string Name { get; set; }
    // 424
    public long Weight { get; set; }
}

提前感谢!

你使用的是正确的 json 格式吗?

我认为你应该使用:

[
  {
    "Id" :37414,
    "Name" : "MP",
    "Weight": 1000
  },
  {
    "Id" :21253,
    "Name" : "Develper",
    "Weight": 424
  },
  {
    "Id": 66344,
    "Name" : "APP",
    "Weight": 1158
  }
]

它将反序列化为:

public class UserTag
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Weight { get; set; }
}
var result = JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(json);
foreach (var item in result)
{
    foreach (var kv in item)
    {
        Console.WriteLine(kv.Key + ": " + kv.Value);
    }
}

相关内容

  • 没有找到相关文章

最新更新