C#中JSON字符串類(lèi)型與對(duì)象類(lèi)型相互轉(zhuǎn)換實(shí)現(xiàn)方式
一、序列化
把對(duì)象轉(zhuǎn)化為可傳輸?shù)淖止?jié)序列(字符串)過(guò)程稱(chēng)為序列化。
- 反序列化:把字節(jié)序列(字符串)轉(zhuǎn)換為對(duì)象的過(guò)程稱(chēng)為反序列化。
- 目的(作用):傳輸數(shù)據(jù)。
二、使用Newtonsoft.Json庫(kù)(也稱(chēng)為Json.NET)進(jìn)行序列化和反序列化操作
首先需要安裝該庫(kù),可以通過(guò)NuGet包管理器或者手動(dòng)下載并添加引用來(lái)完成。
- 然后按照以下示例代碼進(jìn)行轉(zhuǎn)換:
using Newtonsoft.Json; // 導(dǎo)入命名空間 // JSON字符串 string json = “{“name”:“John”, “age”:30}”; // 定義目標(biāo)對(duì)象類(lèi)型 public class Person { public string Name { get; set; } public int Age { get; set; }} // 將JSON字符串轉(zhuǎn)換為對(duì)象 Person person = JsonConvert.DeserializeObject(json); // 將對(duì)象轉(zhuǎn)換為JSON字符串 string str = JsonConvert.SerializeObject(對(duì)象名); Console.WriteLine(person.Name); // 輸出 John Console.WriteLine(person.Age); // 輸出 30
三、使用內(nèi)置的System.Text.Json庫(kù)進(jìn)行序列化和反序列化操作
這是從.NET Core 3.0開(kāi)始提供的新功能,無(wú)需額外安裝任何庫(kù)。
- 按照以下示例代碼進(jìn)行轉(zhuǎn)換:
using System.Text.Json; // 導(dǎo)入命名空間 // JSON字符串 string json = “{“name”:“John”, “age”:30}”; // 定義目標(biāo)對(duì)象類(lèi)型 public class Person { public string Name { get; set; } public int Age { get; set; }} // 將JSON字符串轉(zhuǎn)換為對(duì)象 var options = new JsonSerializerOptions(); options.PropertyNameCaseInsensitive = true; // 設(shè)置屬性不區(qū)分大小寫(xiě) Person person = JsonSerializer.Deserialize(json, options); Console.WriteLine(person.Name); // 輸出 John Console.WriteLine(person.Age); // 輸出 30
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#利用反射技術(shù)實(shí)現(xiàn)去掉按鈕選中時(shí)的邊框效果
這篇文章主要介紹了C#利用反射技術(shù)實(shí)現(xiàn)去掉按鈕選中時(shí)的邊框效果,涉及C#針對(duì)窗口的參數(shù)設(shè)置技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09C#實(shí)現(xiàn)打開(kāi)畫(huà)圖的同時(shí)載入圖片、最大化顯示畫(huà)圖窗體的方法
這篇文章主要介紹了C#實(shí)現(xiàn)打開(kāi)畫(huà)圖的同時(shí)載入圖片、最大化顯示畫(huà)圖窗體的方法,涉及C#針對(duì)窗體及圖片操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08C#實(shí)現(xiàn)數(shù)據(jù)包加密與解密實(shí)例詳解
這篇文章主要介紹了C#實(shí)現(xiàn)數(shù)據(jù)包加密與解密的方法,是一項(xiàng)很實(shí)用的技能,需要的朋友可以參考下2014-07-07C#日期格式強(qiáng)制轉(zhuǎn)換方法(推薦)
下面小編就為大家分享一C#日期格式強(qiáng)制轉(zhuǎn)換的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-11-11C# 構(gòu)造函數(shù)如何調(diào)用虛方法
這篇文章主要介紹了C# 構(gòu)造函數(shù)如何調(diào)用虛方法,文中講解非常詳細(xì),示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07