c# - 反序列化嵌套的 json 字符串

标签 c# json

我有这个 json 字符串

{
'studentinfo':
{
'name':'abc',
'age':41,
'gender':male,
 address:
{
'street':'asd',
'city':'ipd',
'state':'mah'
},
'subject':[
{
'name':'Arts','marks':40,'grade':'a'
},
{
'name':'Science','marks':40,'grade':'a'
},
{
'name':'Commerce','marks':40,'grade':'a'
}
]
}
}

class root
{
public list<studentinfo> studentinfo;
public list<address> address;
public list<subject> subject;
}

class studentinfo
{}

class address
{}

class subject
{}

JSONSerializer.ConvertFromJSON<root>(JSONData)

我想反序列化上面的 json 字符串,但得到的是空值?知道哪里不正确吗?

  public static T ConvertFromJSON<T>(String json)
    {
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        return serializer.Deserialize<T>(json);
    }

json

最佳答案

试着像这样改变你的类:

class root
{
    public root()
    {
    }

    public studentinfo studentinfo { get; set; }
}

class studentinfo
{
    public studentinfo()
    {
        subject = new List<subject>();
    }
    public string name { get; set; }
    public int age { get; set; }
    public string gender { get; set; }

    public address address;
    public List<subject> subject;
}

class address
{
    public string street { get; set; }
    public string city { get; set; }
    public string state { get; set; }
}

class subject
{
    public string name { get; set; }
    public int marks { get; set; }
    public string grade { get; set; }
}

你的 JSON 有错误

'gender':male,

应该是

 'gender': 'male',

关于c# - 反序列化嵌套的 json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6533124/

相关文章:

c# - Azure网站使用asp.net core进行远程调试: Symbol not loading

c# - 实现高级过滤页面

javascript - javascript读取本地Json文件的方法

json - 如何在 JSON 中表示稀疏数组?

iphone - Objective-C JSON - 将 JSON 对象转换为 native 对象?

javascript - JSON - 从 url 获取 facebook 总数

c# - Excel Interop 另存为在 excel 2007 中提供兼容性检查器

c# - 如何破解从C#Interop调用的C++代码

c# - 从多个程序集中注册 IoC 容器

python - 在 ijson 中解析 json 文件时出现内存问题