最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中JSON轉(zhuǎn)為實(shí)體類和List以及結(jié)合使用

 更新時(shí)間:2024年01月11日 15:59:38   作者:代碼匪徒  
開發(fā)中經(jīng)常遇到將JSON字符串轉(zhuǎn)換為L(zhǎng)ist的需求,下面這篇文章主要給大家介紹了關(guān)于C#中JSON轉(zhuǎn)為實(shí)體類和List以及結(jié)合使用的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

引用

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

JSON轉(zhuǎn)實(shí)體類

public class Person
{
	public string Name { get; set; }
	public int Age { get; set; }
	public string Gender { get; set; }
}
string jsonStr = "{\"name\": \"Tom\", \"age\": 20, \"gender\": \"male\"}";
Person person = JsonConvert.DeserializeObject<Person>(jsonStr);

JSON轉(zhuǎn)List

方法一

json

{
   "data": [
         {
            "Id":"0",
            "Username":"Vreeswijk",
            "ProfilePicture":"media/user/0.png"
         },
         {
            "Id":"1",
            "Username":"Mony",
            "ProfilePicture":"media/user/12.png"
         }
      ]
}

實(shí)現(xiàn)

JObject obj = JObject.Parse(json);

//Shou是于json中數(shù)組一個(gè)元素所對(duì)應(yīng)的類
List<Shou> root = JsonConvert.DeserializeObject<List<Shou>>(obj["data"].ToString());

方法二

json

{
   "user":{
      [
         {
            "Id":"0",
            "Username":"Vreeswijk",
            "ProfilePicture":"media/user/0.png"
         }
      ]
   },
   "token":{
      [
         {
            "access_token":"myToken1",
            "refresh_token":"myToken2",
            "expires_in":3600,
            "expires_on":1577363756
         }
      ]
   }
}

兩個(gè)類

public class Token
{
    public string access_token { get; set; }
    public string refresh_token { get; set; }
    public int expire_in { get; set; }
    public int expire_on { get; set; }
	//省略了構(gòu)造方法
}

public class User
{
    public int Id { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public string ProfilePicture { get; set; }
	//省略了構(gòu)造方法
}

實(shí)現(xiàn)

var jObject = JObject.Parse(json);
var userPropery = jObject["user"] as JArray;
List<User> userList= new List<User>();

foreach (var property in userPropery )
{
    var propertyList = JsonConvert.DeserializeObject<List<user>>(property.ToString());
	//List集合中的AddRange方法和Add方法的不同之處在于,Add方法為在集合末尾添加單個(gè)元素對(duì)象,而AddRange方法可以為添加整個(gè)目標(biāo)list集合。
    userList.AddRange(propertyList);
}

結(jié)合使用

json

{
   "number": 1,
   "day": "星期九",
   "user":{
      [
         {
            "Id":"0",
            "Username":"Vreeswijk",
            "ProfilePicture":"media/user/0.png"
         }
      ]
   },
   "token":{
       "access_token":"myToken1",
       "refresh_token":"myToken2",
       "expires_in":3600,
       "expires_on":1577363756
   }
}

兩個(gè)類

public class Token
{
    public string access_token { get; set; }
    public string refresh_token { get; set; }
    public int expire_in { get; set; }
    public int expire_on { get; set; }
	//省略了構(gòu)造方法
}

public class User
{
    public int Id { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public string ProfilePicture { get; set; }
	//省略了構(gòu)造方法
}

public class Data
{
    public int number { get; set; }
    public string day { get; set; }
	public List<User> userList { get; set; }
    public Token token { get; set; }
	//省略了構(gòu)造方法
}

實(shí)現(xiàn)

var jObject = JObject.Parse(json);

List<User> userList = JsonConvert.DeserializeObject<List<Shou>>(jObject["data"].ToString());
Token token = JsonConvert.DeserializeObject<Token>(jObject["token"]);
int number = int.Parse(jObject["number"]);
string day = jObject["day"].ToString();

Data data = new Data(number,day,userList,token);

總結(jié) 

到此這篇關(guān)于C#中JSON轉(zhuǎn)為實(shí)體類和List以及結(jié)合使用的文章就介紹到這了,更多相關(guān)C# JSON轉(zhuǎn)實(shí)體類和List內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

平阳县| 那曲县| 合水县| 通海县| 慈溪市| 杭锦旗| 灵寿县| 乌苏市| 通海县| 颍上县| 新建县| 榆社县| 云南省| 民权县| 山东省| 普定县| 衢州市| 大城县| 武安市| 南陵县| 泰来县| 闽清县| 黄冈市| 平武县| 大兴区| 金乡县| 黄冈市| 兴国县| 兴海县| 天等县| 黑山县| 敦化市| 滁州市| 吉木乃县| 普定县| 渝北区| 宜良县| 康马县| 彩票| 蒙自县| 漾濞|