Json 在 c# 中反序列化:json 包含“1”、“2”、“3”的字符串(连续编号)

Json deserialize in c#: json string with "1", "2", "3" (continious numbering)

我从 API 返回了以下 Json 字符串:

{
"1":{"key":"value", "key2":"value2"},
"2":{"key":"value", "key2":"value2"},
"3":{"key":"value", "key2":"value2"}
}

编号可以上移10.000以上

我使用 Json.Net 进行反序列化。通常我用属性 key 和 key2 声明一个 class 并将其设为列表。然后我用 JsonConvert.Deserialize(...) 反序列化,它工作正常。

但是我该如何处理编号呢?我无法创建超过 10.000 个属性来保存这些值。

此致 莫腾

您可以使用 Dictionary 反序列化您的 json

var obj = JsonConvert.DeserializeObject<Dictionary<int, AClass>>(JsonConvert);


public class AClass
{
    public string key { set; get; }
    public string key2 { set; get; }
}