主頁 > 知識庫 > 在.NET中使用Newtonsoft.Json轉(zhuǎn)換,讀取,寫入的方法介紹

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

熱門標(biāo)簽:云南外呼電銷機(jī)器人系統(tǒng) 浙江外呼系統(tǒng)怎么安裝 廈門商鋪地圖標(biāo)注 上海楊浦怎么申請申請400電話 海外地圖標(biāo)注門市標(biāo) 銅川小型外呼系統(tǒng)運(yùn)營商 地圖標(biāo)注多個行程 山西防封卡電銷卡套餐 陜西人工外呼系統(tǒng)哪家好
全局引用
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

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

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

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);


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

[DataContract]
public class User
{
/// summary>
/// 編號
/// /summary>
[DataMember]
public int UserId { get; set; }
/// summary>
/// 用戶名
/// /summary>
[DataMember]
public string UserName { get; set; }
/// summary>
/// 創(chuàng)建時(shí)間
/// /summary>
[DataMember]
[JsonConverter(typeof(IsoDateTimeConverter))]
public DateTime CreateDate { get; set; }
/// summary>
/// 生日
/// /summary>
[DataMember]
[JsonConverter(typeof(JavaScriptDateTimeConverter))]
public DateTime Birthday { get; set; }
/// summary>
/// 相關(guān)URL
/// /summary>
[DataMember]
public Liststring> Urls { get; set; }
/// summary>
/// 薪水
/// /summary>
[ScriptIgnore]//使用JavaScriptSerializer序列化時(shí)不序列化此字段
[IgnoreDataMember]//使用DataContractJsonSerializer序列化時(shí)不序列化此字段
[JsonIgnore]//使用JsonConvert序列化時(shí)不序列化此字段
public int Salary { get; set; }
/// summary>
/// 權(quán)利級別
/// /summary>
[DataMember]
public Priority Priority { get; set; }

public User()
{
Urls = new Liststring>();
}
}


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

參考:

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

您可能感興趣的文章:
  • c# Newtonsoft 六個值得使用的特性(上)
  • 用Newtonsoft將json串轉(zhuǎn)為對象的方法(詳解)
  • newtonsoft.json解析天氣數(shù)據(jù)出錯解決方法
  • c# Newtonsoft 六個值得使用的特性(下)

標(biāo)簽:西雙版納 自貢 孝感 許昌 信陽 萊蕪 朔州 常州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在.NET中使用Newtonsoft.Json轉(zhuǎn)換,讀取,寫入的方法介紹》,本文關(guān)鍵詞  在,.NET,中,使用,Newtonsoft.Json,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在.NET中使用Newtonsoft.Json轉(zhuǎn)換,讀取,寫入的方法介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于在.NET中使用Newtonsoft.Json轉(zhuǎn)換,讀取,寫入的方法介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章