在C#类中定义字典

时间:2016-07-12 19:27:10

标签: c# json

我有一个.json文件,我想用C#读取。

Json文件如下所示:

{"SN0124":{
    "category1": 0,
    "output": {
        "ABC": [], 
        "DEF": 0, 
        "GHI": "ABDEF"
    },
    "category2": 0, 
    "category3": 0
},
"SN0123":{
    "category1": 0, 
    "output": {
        "ABC": ["N1", "N2"], 
        "DEF": 0, 
        "GHI": "ABDEF"
    },
    "category2": 0, 
    "category3": 0
}

最初输出字段不存在,我读取Json文件的自定义类如下:

namespace Server.Models
{
    public class Pets
    {
        public string category1 { get; set; }
        public string category2 { get; set; }
        public string category3 { get; set; }

    }
}

最近添加了输出,我不知道如何在类文件中包含该字典,以便我可以读取json文件。任何帮助将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:1)

这应该可以正常工作。我基本上创建了一个名为Output的新类,它包含预期的JSON字段。我还将类别字段的类型编辑为int。

library(tidyr)

df %>% unnest(ids) %>% 
  count(group, ids) %>% 
  spread(group, n) %>% 
  arrange(desc(rowSums(.[,-1])))

## # A tibble: 10,001 x 4
##      ids     a     b     c
##    <int> <int> <int> <int>
## 1  10162    22    24    26
## 2   8799    31    22    18
## 3   1173    27    25    18
## 4   2834    21    29    20
## 5   3957    24    27    19
## 6   4940    26    17    27
## 7   7757    23    19    27
## 8   5632    21    20    27
## 9   7565    24    24    20
## 10 10444    24    20    24
## # ... with 9,991 more rows

答案 1 :(得分:0)

我不确定我完全明白你的意思。如果我理解你正在尝试将output中的值保存在字典中吗?

您可以执行以下操作:

var output = new Dictionary<string, string[]>();

但是创建一个自定义类来保存数据结构可能更简单。