C# JSon使用newtonsoft反序列化对象

tv6aics1  于 2023-08-08  发布在  C#
关注(0)|答案(1)|浏览(148)

Json文件看起来像

{
    "cat": {    
        "colour":"brown",
        "height": "30cm"
    },
    "dog" {
        "colour":"brown"
    }
}

字符串
所以我创建了一个类

public class DataModel{
public class root
{
public Cat cats{get;set}
public Dog dogs{get;set}
}
public class Cat{
public string colour {get; set;}
public string height {get; set;}
}
public class Dog{
public string colour {get; set;}
}


如何在C#中使用Newtonsoft.Json反序列化。
我试着创建类,但无法完成。

ltskdhd1

ltskdhd11#

稍微修改一下root对象模型,属性名称应该与JSON匹配,或者使用[JsonProperty]属性。
例如,在

public class root
{
  public Cat Cat {get;set;}
  public Dog Dog {get;set;}
}

字符串
或使用[JsonProperty]

public class root
{
  [JsonProperty("cat")] public Cat cats {get;set;}
  [JsonProperty("dog")] public Dog dogs {get;set;}
}


然后使用通用DeserializeObject,例如

var root = JsonConvert.DeserializeObject<root>(jsonContent);

相关问题