反序列化json对象不起作用 [英] deserialize json object does not work

查看:563
本文介绍了反序列化json对象不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将json对象反序列化为我的学生班级

I want to deserialize my json object to my student class

var result = JsonConvert.DeserializeObject<Student>(data);

我的json数据

{  
"student":{  
  "fname":"997544",
  "lname":"997544",
  "subject":"IT",
  "grade":"F"
}
}

我的学生班级

[Serializable]
public class Student
{
    [JsonProperty("fname")]
    public string FirstName{ get; set; }
    [JsonProperty("lname")]
    public string LastName{ get; set; }
    [JsonProperty("subject")]
    public string Subject { get; set; }
    [JsonProperty("grade")]
    public string Grade { get; set; }
 }

代码不起作用,错误提示:

The code does not work, the error says:


无法将当前JSON对象(例如{ name: value})反序列化为
类型,因为该类型需要JSON数组(例如[1,2,3])正确反序列化。

Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.


推荐答案

您下载的json,然后您需要为其创建另一个模型

if you have to use your downloaded json then you need to create another model class for it

[Serializable]
public class Student
{
    [JsonProperty("fname")]
    public string FirstName{ get; set; }
    [JsonProperty("lname")]
    public string LastName{ get; set; }
    [JsonProperty("subject")]
    public string Subject { get; set; }
    [JsonProperty("grade")]
    public string Grade { get; set; }
}

[Serializable]
public class NewModel
{
    public Student Student { get; set; }
}

然后反序列化

var result = JsonConvert.DeserializeObject<NewModel>(data);

这篇关于反序列化json对象不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆