一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 在.NET中使用Newtonsoft.Json轉換,讀取,寫入的方法介紹

在.NET中使用Newtonsoft.Json轉換,讀取,寫入的方法介紹

2019-10-07 11:09asp.net教程網 ASP.NET教程

Newtonsoft.Json.JsonConvert類是非微軟提供的一個JSON序列化和反序列的開源免費的類庫

全局引用 
using Newtonsoft.Json; 
using Newtonsoft.Json.Converters; 

//把Json字符串反序列化為對象 
目標對象 = JavaScriptConvert.DeserializeObject(JSON字符串, typeof(目標對象)); 
//把目標對象序列化為Json字符串 
stringJson字符串 = JavaScriptConvert.SerializeObject(目標對象); 
1、引用Newtonsoft.Json.dll; 
2、在項目中添加引用; 
序列化和反序列在.net項目中,簡單示例 

復制代碼代碼如下:


Productproduct = newProduct(); 
product.Name = "Apple"; 
product.Expiry = newDateTime(2008, 12, 28); 
product.Price = 3.99M; 
product.Sizes = newstring[] { "Small", "Medium", "Large"}; 
stringoutput = JavaScriptConvert.SerializeObject(product); 



注意: 
一、如果需要序列化實體 
1、類名必須添加[DataContract]標記; 
2、類屬性添加[DataMember]標記; 
二、如果有不需要序列化的字段,可以給該字段添加[JsonIgnore]標記 
在Newtonsoft這個類庫中對于日期的序列化有多種方式,可以類的DataTime成員添加上對應的標記,這樣在進行序列化和反序列化時就會按照指定的方式進行, 
在本例中User類(如下類)的CreateDate屬性添加的屬性是[JsonConverter(typeof(IsoDateTimeConverter))],而Birthday屬性添加的屬性是[JsonConverter(typeof(JavaScriptDateTimeConverter))],從序列化的結果可以看出來它們最終的表現形式并不一樣。 

復制代碼代碼如下:


[DataContract] 
public class User 

/// <summary> 
/// 編號 
/// </summary> 
[DataMember] 
public int UserId { get; set; } 
/// <summary> 
/// 用戶名 
/// </summary> 
[DataMember] 
public string UserName { get; set; } 
/// <summary> 
/// 創建時間 
/// </summary> 
[DataMember] 
[JsonConverter(typeof(IsoDateTimeConverter))] 
public DateTime CreateDate { get; set; } 
/// <summary> 
/// 生日 
/// </summary> 
[DataMember] 
[JsonConverter(typeof(JavaScriptDateTimeConverter))] 
public DateTime Birthday { get; set; } 
/// <summary> 
/// 相關URL 
/// </summary> 
[DataMember] 
public List<string> Urls { get; set; } 
/// <summary> 
/// 薪水 
/// </summary> 
[ScriptIgnore]//使用JavaScriptSerializer序列化時不序列化此字段 
[IgnoreDataMember]//使用DataContractJsonSerializer序列化時不序列化此字段 
[JsonIgnore]//使用JsonConvert序列化時不序列化此字段 
public int Salary { get; set; } 
/// <summary> 
/// 權利級別 
/// </summary> 
[DataMember] 
public Priority Priority { get; set; } 

public User() 

Urls = new List<string>(); 



其他: 
Newtonsoft.Json.JsonConvert類是非微軟提供的一個JSON序列化和反序列的開源免費的類庫(下載網址是:http://www.codeplex.com/json/),它提供了更靈活的序列化和反序列化控制,并且如果你的開發環境使用的是.NET Framework3.5及以后版本的話,你就可以使用Linq to JSON,這樣一來面對一大段的數據不必一一解析,你可以使用Linq to JSON解析出你關心的那部分即可,非常方便。 

參考:

http://www.cnblogs.com/gghxh/archive/2008/01/11/1035482.html
http://blog.csdn.net/zhoufoxcn/article/details/6254657

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 大学生初次破苞免费视频 | 久久婷婷丁香五月色综合啪免费 | 成人伊人青草久久综合网破解版 | 俄罗斯美女大逼 | 91网红福利精品区一区二 | 国产亚洲成归v人片在线观看 | 疯狂刺激的3p国产在线 | www.天天操| 欧美夫妇野外交换hd高清版 | 国产视频一二三区 | 男人日女人p | 太大了轻点阿受不了小说h 四色6677最新永久网站 | 特级淫片大乳女子高清视频 | 黑人草 | 大胆人gogo888体艺术在线 | 美女大鸡鸡 | 天天亚洲综合 | 草莓丝瓜芭乐樱桃榴莲色多黄 | 91久久夜色精品国产九色 | 免费我看视频在线观看 | 国产良心大作白丝精厕 | 精品久久免费观看 | 天堂网站天堂小说 | 猥琐对着美女飞机喷到脸上 | 草草影院免费 | 午夜私人影院在线观看 | 好男人资源免费播放在线观看 | 高h文3p双龙| 香蕉91 | 亚洲国产精品成人综合久久久 | 亚洲精品国产SUV | 热巴在公交车h文 | hd在线观看免费高清视频 | 精品区2区3区4区产品乱码9 | 爽好舒服宝贝添奶吻戏 | 国内精品91最新在线观看 | 亚洲一区二区三区在线播放 | 久久天堂成人影院 | 俄罗斯大逼| 日韩在线观看网址 | 国产高清在线视频一区二区三区 |