c# jobject 的数据结构的解析 首先下载Newtonsoft.Json,增加引用using Newtonsoft.Json.Linq;

把jobject的内容提取出来,Jobject的内容格式如下:

{

"code": 200,

"msg": "SUCCESS",

"data": {

"id": "12345678",

"name": "张三",

"sex": "男",

"result": {

"access_token": "49d58eacd7811e463429a1ae10b42173",

"user_info": [{

"school": "社会大学",

"major": "软件开发",

"education": "本科",

"score": 97

}, {

"school": "湖南大学",

"major": "软件工程",

"education": "研究生",

"score": 100

}]

}

}

}

可放到json官网在线JSON校验格式化工具里解析。

代码如下:

1,新建类:

public class UserInfo

{

public string id { get; set; }

public string name { get; set; }

public string sex { get; set; }

public string access_token { get; set; }

public string school { get; set; }

public string major { get; set; }

public string education { get; set; }

public string score { get; set; }

}

2,获取值:

JObject result = new JObject();//假设result为数据结构

UserInfo userinfo = new UserInfo();

userinfo.id = result["data"].Value<string>("id");//id

userinfo.name = result["data"].Value<string>("name"); //name

userinfo.sex = result["data"].Value<string>("sex"); //sex

userinfo.access_token= result["data"]["result"]["access_token"].ToString();//access_token

JArray res = result["data"]["result"].Value<JArray>("user_info");

JObject obj = JObject.Parse(res[0].ToString());//只获取数据结构中第一个userinfo里的数据信息

userinfo.school = obj.Value<string>("school"); //schoool

userinfo.major = obj.Value<string>("major");//major

userinfo.education = obj.Value<string>("education");//education

userinfo.score= obj.Value<string>("score");//score

把jobject的内容提取出来,Jobject的内容格式如下:

{

"code": 200,

"msg": "SUCCESS",

"data": {

"id": "12345678",

"name": "张三",

"sex": "男",

"result": {

"access_token": "49d58eacd7811e463429a1ae10b42173",

"user_info": [{

"school": "社会大学",

"major": "软件开发",

"education": "本科",

"score": 97

}, {

"school": "湖南大学",

"major": "软件工程",

"education": "研究生",

"score": 100

}]

}

}

}

可放到json官网在线JSON校验格式化工具里解析。

代码如下:

1,新建类:

public class UserInfo

{

public string id { get; set; }

public string name { get; set; }

public string sex { get; set; }

public string access_token { get; set; }

public string school { get; set; }

public string major { get; set; }

public string education { get; set; }

public string score { get; set; }

}

2,获取值:

JObject result = new JObject();//假设result为数据结构

UserInfo userinfo = new UserInfo();

userinfo.id = result["data"].Value<string>("id");//id

userinfo.name = result["data"].Value<string>("name"); //name

userinfo.sex = result["data"].Value<string>("sex"); //sex

userinfo.access_token= result["data"]["result"]["access_token"].ToString();//access_token

JArray res = result["data"]["result"].Value<JArray>("user_info");

JObject obj = JObject.Parse(res[0].ToString());//只获取数据结构中第一个userinfo里的数据信息

userinfo.school = obj.Value<string>("school"); //schoool

userinfo.major = obj.Value<string>("major");//major

userinfo.education = obj.Value<string>("education");//education

userinfo.score= obj.Value<string>("score");//score