国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

.net實(shí)體類(lèi)與json相互轉(zhuǎn)換

2024-07-10 13:31:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

.net實(shí)體類(lèi)與json相互轉(zhuǎn)換時(shí),注意要點(diǎn):
1.jsonhelp編寫(xiě)時(shí)候添加的引用。System.Runtime.Serialization.Json; 
2.實(shí)體類(lèi)需聲明為public 

jsonhelp代碼: 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Runtime.Serialization.Json;using System.IO;namespace JsonTest{  class JsonHelp  {    public JsonHelp()  {    //    // TODO: Add constructor logic here    //  }  /// <summary>  /// 把對(duì)象序列化 JSON 字符串   /// </summary>  /// <typeparam name="T">對(duì)象類(lèi)型</typeparam>  /// <param name="obj">對(duì)象實(shí)體</param>  /// <returns>JSON字符串</returns>  public static string GetJson<T>(T obj)  {    //記住 添加引用 System.ServiceModel.Web     /**     * 如果不添加上面的引用,System.Runtime.Serialization.Json; Json是出不來(lái)的哦     * */    DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T));    using (MemoryStream ms = new MemoryStream())    {      json.WriteObject(ms, obj);      string szJson = Encoding.UTF8.GetString(ms.ToArray());      return szJson;    }  }  /// <summary>  /// 把JSON字符串還原為對(duì)象  /// </summary>  /// <typeparam name="T">對(duì)象類(lèi)型</typeparam>  /// <param name="szJson">JSON字符串</param>  /// <returns>對(duì)象實(shí)體</returns>  public static T ParseFormJson<T>(string szJson)  {    T obj = Activator.CreateInstance<T>();    using (MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes(szJson)))    {      DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T));      return (T)dcj.ReadObject(ms);    }  }   }} 

實(shí)體類(lèi)代碼: 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace JsonTest{ public class testData  {    public testData()  {  }  public int Id { get; set; }  public string Name { get; set; }  public string Sex { get; set; }  }} 

控制臺(tái)應(yīng)用程序測(cè)試代碼:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace JsonTest{  class Program  {    static void Main(string[] args)    {      //實(shí)體類(lèi)轉(zhuǎn)json      testData t1 = new testData();      t1.Id = 1;      t1.Name = "001姓名";      t1.Sex = "男";      testData t2 = new testData();      t2.Id = 2;      t2.Name = "002姓名";      t2.Sex = "男";      testData t3 = new testData();      t3.Id = 3;      t3.Name = "003姓名";      t3.Sex = "男";      List<testData> tlist = new List<testData>();      tlist.Add(t1);      tlist.Add(t2);      tlist.Add(t3);     Console.WriteLine(JsonHelp.GetJson<List<testData>>(tlist));      // Console.ReadKey();      //json轉(zhuǎn)實(shí)體類(lèi)     List<testData> tl = JsonHelp.ParseFormJson <List<testData>>(JsonHelp.GetJson<List<testData>>(tlist));     Console.WriteLine(tl.Count);     Console.WriteLine(tl[0].Name);     Console.ReadKey();    }  }} 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到ASP.NET教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 吕梁市| 景宁| 谷城县| 涟源市| 图木舒克市| 平舆县| 上栗县| 宣恩县| 九寨沟县| 连城县| 会同县| 施甸县| 府谷县| 阿拉尔市| 丽水市| 体育| 江达县| 赫章县| 吴桥县| 秦皇岛市| 大理市| 莲花县| 陆良县| 永胜县| 吴旗县| 清涧县| 察隅县| 丹棱县| 呼伦贝尔市| 长海县| 竹北市| 永济市| 夏河县| 都匀市| 营山县| 洮南市| 巴彦县| 新化县| 砚山县| 韶关市| 邹平县|