未知的json树的类模型

时间:2014-12-15 21:53:09

标签: c# json json.net

我需要一个小小的提示,如何为特定的json树设计类模型。 我对json没有影响力。它由webservice生成。

json看起来像这样:

{
   "version":"1",   
   "values":[
      {
         "2014-12-15 20:50:00":{            
            "energy":null,
            "temp":null
         }
      },
      {
         "2014-12-15 22:30:00":{            
            "energy":2328.42,
            "temp":null
         }
      }
   ]
}

我的第一个想法是这是一本词典。像这样:

public class StecaRequest
{
    [JsonProperty("values")]
    public Dictionary<DateTime, InverterValue> Values
    {
        get;
        set;
    }
    [...]

但它不起作用。我认为它是一个字典,它必须看起来像这样:

{
   "version":"1",   
   "values":[
      "2014-12-15 20:50:00":{            
         "energy":null,
         "temp":null
      },
      "2014-12-15 22:30:00":{            
         "energy":2328.42,
         "temp":null
      }
   ]
}

但是我在第一个例子中用json做了什么呢?

有什么想法吗?

感谢您的帮助 斯特芬

1 个答案:

答案 0 :(得分:1)

可以是这样的

public class ModelRoot
{
    public string Version { set; get; }
    public List<Dictionary<string,ModelValue>> values { set; get; }
    // This would work too
    //public List<Dictionary<DateTime,ModelValue>> values { set; get; }
}

public class ModelValue
{
    public string Energy { set; get; }
    public string Temp { set; get; }
}

var obj = JsonConvert.DeserializeObject<ModelRoot>(json);