对象反序列化错误

时间:2017-11-15 22:29:51

标签: c# json deserialization

这是我的json格式:

{
  "groupe1": [
    {
      "nom": "tache1",
      "type": "Tache"
    },
    {
      "nom": "tache2",
      "type": "Tache"
    }
  ],...
}

我想将其反序列化为这些类GroupeItem。 我的代码:

public static class Config
{
    public const string pathSharedFile = @"Config.json";

    public static List<string> ReadGroupes()
    {
        StreamReader sr = new StreamReader(pathSharedFile);
        List<Groupe> Groupes = JsonConvert.DeserializeObject<List<Groupe>>(sr.ReadToEnd());
        return new List<string>();
    }
}

public class Groupe
{
    public Item[] items { get; set; }
}
public class Item
{
    public string nom { get; set; }
    public string type { get; set; }
}

尝试演员时会抛出错误。有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

删除Groupe类并使用如下字典:

Dictionary<string, Item[]> Groupes = 
          JsonConvert.DeserializeObject<Dictionary<string, Item[]>>(sr.ReadToEnd());

由于属性是动态的,使用字典将允许您按键访问每个组:

var groupContent = Groupes["groupe1"];

foreach(var item in groupContent)
   //Do whatever you want with the item