1. 程式人生 > 其它 >c# jobject 的資料結構的解析

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