亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#實現(xiàn)JSON字符串序列化與反序列化的方法

 更新時間:2017年01月04日 14:24:23   作者:笨笨丁  
在這篇文章中,我們將會學(xué)到如何使用C#,來序列化對象成為Json格式的數(shù)據(jù),以及如何反序列化Json數(shù)據(jù)到對象。

C#將對象序列化成JSON字符串

public string GetJsonString() 
{ 
 List<Product> products = new List<Product>(){ 
 new Product(){Name="蘋果",Price=5}, 
 new Product(){Name="橘子",Price=5}, 
 new Product(){Name="干柿子",Price=00} 
 }; 
 ProductList productlist = new ProductList(); 
 productlistGetProducts = products; 
 return new JavaScriptSerializer()Serialize(productlist)); 
} 
 
public class Product 
{ 
 public string Name { get; set; } 
 public double Price { get; set; } 
} 
 
public class ProductList 
{ 
 public List<Product> GetProducts { get; set; } 
} 

這里主要是使用JavaScriptSerializer來實現(xiàn)序列化操作,這樣我們就可以把對象轉(zhuǎn)換成Json格式的字符串,生成的結(jié)果如下:

復(fù)制代碼 代碼如下:

{"GetProducts":[{"Name":"蘋果","Price":5},{"Name":"橘子","Price":5},{"Name":"柿子","Price":16}]}

如何將Json字符串轉(zhuǎn)換成對象使用呢?

在實際開發(fā)中,經(jīng)常有可能遇到用JS傳遞一個Json格式的字符串到后臺使用,如果能自動將字符串轉(zhuǎn)換成想要的對象,那進行遍歷或其他操作時,就方便多了。那具體是如何實現(xiàn)的呢?

public static List<T> JSONStringToList<T>(this string JsonStr) 
{ 
 JavaScriptSerializer Serializer = new JavaScriptSerializer(); 
 List<T> objs = SerializerDeserialize<List<T>>(JsonStr); 
 return objs; 
} 
 
public static T Deserialize<T>(string json) 
{ 
 T obj = ActivatorCreateInstance<T>(); 
 using (MemoryStream ms = new MemoryStream(EncodingUTFGetBytes(json))) 
 { 
 DataContractJsonSerializer serializer = new DataContractJsonSerializer(objGetType()); 
 return (T)serializerReadObject(ms); 
 } 
} 
 
string JsonStr = "[{Name:'蘋果',Price:5},{Name:'橘子',Price:5},{Name:'柿子',Price:16}]"; 
List<Product> products = new List<Product>(); 
products = JSONStringToList<Product>(JsonStr); 
 
foreach (var item in products) 
{ 
 ResponseWrite(itemName + ":" + itemPrice + "<br />"); 
} 
 
public class Product 
{ 
 public string Name { get; set; } 
 public double Price { get; set; } 
} 

在上面的例子中,可以很方便的將Json字符串轉(zhuǎn)換成List對象,操作的時候就方便多了~

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • WPF實現(xiàn)環(huán)(圓)形菜單的示例代碼

    WPF實現(xiàn)環(huán)(圓)形菜單的示例代碼

    這篇文章主要介紹了如何利用WPF繪制一個簡單的環(huán)形菜單,文中的示例代碼講解詳細,對我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下
    2022-07-07
  • 基于為何我不喜歡用Path.Combine的詳解

    基于為何我不喜歡用Path.Combine的詳解

    本篇文章對是為什么我不喜歡用Path.Combine做了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C#迷你猜數(shù)實例分析

    C#迷你猜數(shù)實例分析

    這篇文章主要介紹了C#迷你猜數(shù),實例分析C#操作數(shù)字及數(shù)組的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • 理解C#中的枚舉(簡明易懂)

    理解C#中的枚舉(簡明易懂)

    這篇文章主要介紹了理解C#中的枚舉(簡明易懂),本文講解了枚舉的優(yōu)點、枚舉說明、枚舉的類型、枚舉的使用建議等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • C#的SQL操作類實例

    C#的SQL操作類實例

    這篇文章主要介紹了C#的SQL操作類實例,涉及到針對數(shù)據(jù)庫的常用操作,在進行C#數(shù)據(jù)庫程序設(shè)計中非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • c# List find()方法返回值的問題說明(返回結(jié)果為對象的指針)

    c# List find()方法返回值的問題說明(返回結(jié)果為對象的指針)

    本篇文章主要介紹了c#中List find()方法返回值的問題說明(返回結(jié)果為對象的指針) 需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • C#影院售票系統(tǒng)畢業(yè)設(shè)計(4)

    C#影院售票系統(tǒng)畢業(yè)設(shè)計(4)

    這篇文章主要介紹了C#影院售票系統(tǒng)畢業(yè)設(shè)計,學(xué)習(xí)內(nèi)容是總結(jié)銷售信息的保存以及加載銷售信息,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-11-11
  • C#使用timer定時在屏幕上輸出信息的方法

    C#使用timer定時在屏幕上輸出信息的方法

    這篇文章主要介紹了C#使用timer定時在屏幕上輸出信息的方法,涉及C#中timer定時器的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Unity調(diào)用手機攝像機識別二維碼

    Unity調(diào)用手機攝像機識別二維碼

    這篇文章主要為大家詳細介紹了Unity調(diào)用手機攝像機識別二維碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 詳解如何利用C#實現(xiàn)設(shè)置系統(tǒng)時間

    詳解如何利用C#實現(xiàn)設(shè)置系統(tǒng)時間

    這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)設(shè)置系統(tǒng)時間功能,文中的示例代碼講解詳細,對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12

最新評論