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

C#中JSON轉為實體類和List以及結合使用

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

引用

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

JSON轉實體類

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轉List

方法一

json

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

實現(xiàn)

JObject obj = JObject.Parse(json);

//Shou是于json中數(shù)組一個元素所對應的類
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
         }
      ]
   }
}

兩個類

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; }
	//省略了構造方法
}

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

實現(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方法為在集合末尾添加單個元素對象,而AddRange方法可以為添加整個目標list集合。
    userList.AddRange(propertyList);
}

結合使用

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
   }
}

兩個類

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; }
	//省略了構造方法
}

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

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

實現(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);

總結 

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

相關文章

最新評論

会东县| 芷江| 景宁| 拜城县| 台中市| 会泽县| 遂昌县| 渝中区| 泉州市| 汉源县| 承德市| 盖州市| 尉犁县| 阿勒泰市| 河间市| 延长县| 西平县| 荆州市| 任丘市| 冷水江市| 稷山县| 定结县| 涟水县| 小金县| 玉山县| 麦盖提县| 库伦旗| 平乐县| 靖州| 化隆| 巴中市| 浦县| 通山县| 潼关县| 康马县| 南宁市| 余庆县| 衡山县| 新乡县| 巨野县| 闸北区|