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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲色欲色欲综合网站 | 国产欧美精品专区一区二区 | 国产欧美va欧美va香蕉在线观 | 成年人福利 | 精品手机在线1卡二卡3卡四卡 | 亚洲欧美一区二区三区在线观看 | 欧美free激情野战hd | 日韩大片免费观看 | 久久天天躁狠狠躁夜夜躁 | 饭冈加奈子在线播放观看 | 青青青青久久国产片免费精品 | 免费看视频高清在线观看 | 午夜理论片YY4399影院 | 久久re亚洲在线视频 | 婷婷麻豆 | 免费国产白棉袜踩踏区域 | 欧美国产精品 | 亚洲高清一区二区三区四区 | 日韩中文在线 | 亚洲444777KKK在线观看 | 黄网在线观看免费网站台湾swag | 欧美日韩亚洲第一区在线 | 亚洲国产韩国欧美在线不卡 | 被强迫调教的高辣小说 | 国产性色视频 | 亚洲区精品久久一区二区三区 | 亚洲高清视频网站 | 国产精品欧美日韩一区二区 | 好大水好多好爽好硬好深视频 | 久久久久免费视频 | 不知火舞被c视频在线播放 不卡一区二区三区卡 | 成在线人免费视频一区二区三区 | 精品久久成人 | 欧美亚洲国产精品久久久 | 美女被吸乳得到大胸 | 爽新片xxxxxxx | 亚洲天天做夜夜做天天欢 | 高跟丝袜hdvideossex| 国产在线精品亚洲第一区香蕉 | 午夜视频一区 | 欧美视频在线播放观看免费福利资源 |