从JSON解析为字典

编程语言 2026-07-10

我有一些看起来像这样的json:

"lines": 
{
    "0010": {
        "ProvCountyCode": "047",
        "ProvNo": "770887",
        "ParNonparCode": "K",
        "ParNonparCode2": "K",
    }, 
    "0020" {
        "ProvCountyCode": "047",
        "ProvNo": "0888",
        "ParNonparCode": "K",
        "ParNonparCode2": "K",
    },
              ...

Visual Studio (C#) 的“粘贴特殊/从JSON生成类”会生成类似这样的内容:

public class Lines
{
    public _0010 _0010 { get; set; }
    public _0020 _0020 { get; set; }
}

public class _0010
{
    public string ProvCountyCode { get; set; }
    public string ProvNo { get; set; }
    public string ParNonparCode { get; set; }
    public string ParNonparCode2 { get; set; }
}

public class _0020 
{
    public string ProvCountyCode { get; set; }
    public string ProvNo { get; set; }
    public string ParNonparCode { get; set; }
    public string ParNonparCode2 { get; set; }
}

// ...

对我来说这看起来并不是很有用。往下还有一个名为 lineSummary 的json数组,其中包含一个值 LineID

我在想我想像下面这样引用字典:

Lines[LineId]

我不能更改JSON。我正在寻找创建一个能够容纳它的类

解决方案

正如dbc所说,你可以像对待JSON一样使用字典:

public class Lines 
{ 
    public Dictionary<string, Line> lines { get; set; } = new(); 
}

属性名(此处为 00100020)将成为键名。这对于 System.Text.JsonNewtonsoft 都适用。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章