Json无法在C#中正确映射

时间:2014-03-19 13:08:08

标签: c# json json.net

这是一个json文档,我想将它映射到C#poco类。我写了一些课程,但他们没有工作。我在结果对象中得到null。有什么想法吗?

我使用了牛顿软件的json转换器。

{
  "retrieval-response":{
  "cdata":{
   "identifier":"777400",
   "document-count":"62"
  },
  "index":"10",
  "count":"25"
  }
}

C#地图类;

public class result
{
    [JsonProperty("retrieval-response")]
    public aResult res { get; set; }
    public int index { get; set; }
    public int count { get; set; }

}

public class aResult
{
    public cdata data { get; set; }
}

public class cdata
{
    [JsonProperty("identifier")]
    public string identif { get; set; }
    [JsonProperty("document-count")]
    public string count { get; set; }
}

1 个答案:

答案 0 :(得分:2)

你的模特错了。试试这个:

public class Wrapper
{
    [JsonProperty("retrieval-response")]
    public Result Result { get; set; }
}

public class Result
{
    [JsonProperty("cdata")]
    public Data Data { get; set; }

    public int Index { get; set; }

    public int Count { get; set; }
}

public class Data
{
    [JsonProperty("identifier")]
    public string Identifier { get; set; }

    [JsonProperty("document-count")]
    public string Count { get; set; }
}

然后您可以使用以下行反序列化它:

var myResult = JsonConvert.DeserializeObject<Wrapper>(json);

请注意,我还在pascal案例中写了你的财产和班级名称。这些是naming conventions from Microsoft