哈佛大学
{
"录取情况(新生)": {
"全日制学生": {
"男生": "836",
"女生": "827",
"合计": "1663"
},
"在职学生": {
"男生": "836",
"女生": "827",
"合计": "1663"
}
},
"所有本科生": {
"全日制学生": {
"男生": "3317",
"女生": "3316",
"合计": "6633"
},
"在职学生": {
"男生": "1",
"女生": "7",
"合计": "8"
},
"研究生": {
"男生": "7303",
"女生": "6671",
"合计": "13974"
}
},
"宗教种族背景本科生": {
"美洲印第安人/阿拉斯加土著人": "少于1%",
"亚洲人": "15%",
"黑人": "6%",
"西班牙人": "8%",
"多种族": "3%",
"夏威夷土人/太平洋岛国居民": "少于1%",
"白人": "43%",
"种族不明": "1%"
},
"外州学生": {
"外州学生比例": "74%",
"代表的州和地区数量数量": "54"
},
"国际学生": {
"国际学生比例": "10%",
"代表的国家数量": "110"
},
"学生年龄": {
"年龄超过25岁的学生(含25岁)比例": "1%"
}
}
}
类似于这样如何进行写成class的形式,然后进行序列化,嵌套的这种感觉好晕!!
逐层嵌套
某个属性里面可以是一个数组 数组里面可以是多个属性组
如此嵌套匹配
class Json { College 哈弗大学{get;set;} } class College { NewStudent College{get;set;} AllUndergraduate 所有本科生{get;set;} ...//这里还需要将其他属性追加出来,其实就的嵌套类的写法。 } class NewStudent { Student 全日制学生{get;set;} Student 在职学生{get;set;} } class AllUndergraduate { Student 全日制学生{get;set;} Student 在职学生{get;set;} Student 研究生{get;set;} } class Student { int 男生{get;set;} int 女生{get;set;} int 合计{get;set;} }
不建议,用类来表示这样的json,这样的json,数据格式不太统一。
可是这样要对它进行赋值操作,然后进行序列化怎么办呢
@叶落无声1: 赋值的时候,就实例化一个Json对象,var json=new Json();
json.哈弗大学=new College();这样一层一层的赋值,因为你这样的json,嵌套有点多,所以相对来说,赋值有点麻烦。
全部定义成Dictionary<string,int>
不是很清楚
class 哈佛大学 { public NewStuent Newstuent{ get; set; }
public object body { get; set; } public class NewStuent {
....自定义属性和字段 如果有n嵌套 也类似的写法 里面继续写class public clsss xx
{}
} } }
调用:类似下面的格式
public static string Login(string userName, string password) { Command command = new Command(); command.header = new Command.Header(); command.header.cmd = "1000"; Command.Login login = new Command.Login(); login.user = userName; login.pass = password; command.body = login; string json = JsonConvert.SerializeObject(command); return json; }
最后下面个第3方的dll Newtonsoft.Json.dll