Json在c#中不能正确映射



这是一个json文档,我想把它映射到c# poco类。我写了一些类,但它们没有工作。结果对象中得到null。什么好主意吗?

我使用Newtonsoft的json转换器。

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

c# map类

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; }
}

你的模型是错误的。试试这个:

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写了你的属性和类名。这些是来自Microsoft的命名约定。

相关内容

  • 没有找到相关文章

最新更新