C#中Newtonsoft.Json(Json.NET)的使用

C#中Newtonsoft.Json(Json.NET)的使用。

添加引用:

using Newtonsoft.Json; 

调用代码:

//获取图书列表
List<BookInfo> bookList = GetBookList();

//将图书列表转换成Json          
string bookListJson = JsonConvert.SerializeObject(bookList);

//将Json转换回图书列表
List<BookInfo> books = JsonConvert.DeserializeObject<List<BookInfo>>(bookListJson);

其他代码:

/// <summary>  
/// 图书信息实体类  
/// </summary>  
public class BookInfo
{
    public int BookId { set; get; }             //图书ID  
    public string Title { set; get; }           //图书名称  
    public string Category { set; get; }        //图书分类  
    public string Author { set; get; }          //图书作者  
    public DateTime PublishDate { set; get; }   //出版时间  
    public Double Price { set; get; }           //销售价格  
} 

 

/// <summary>  
/// 获取图书列表  
/// </summary>  
/// <returns></returns>  
public List<BookInfo> GetBookList()
{
    List<BookInfo> bookList = new List<BookInfo>();
    BookInfo book1 = new BookInfo()
    {
        BookId = 1,
        Category = "CHILDREN",
        Title = "Harry Potter",
        Author = "J K. Rowling",
        PublishDate = new DateTime(2005, 08, 15),
        Price = 29.99
    };
    bookList.Add(book1);
    BookInfo book2 = new BookInfo()
    {
        BookId = 2,
        Category = "WEB",
        Title = "Learning XML",
        Author = "Erik T. Ray",
        PublishDate = new DateTime(2003, 10, 18),
        Price = 39.95
    };
    bookList.Add(book2);
    return bookList;
}

补充:如果某个字段不想被Json序列化,则可以在该字段上加上[Newtonsoft.Json.JsonIgnore]特性。

例如上述实例中的价格不想被Json序列化:

[Newtonsoft.Json.JsonIgnore]
public Double Price { set; get; }           //销售价格 

 

 

 

 

 

Json.NET 描述: json。 网络是一个流行的高性能JSON为。NET框架 灵活的JSON序列化器对之间的转换。净对象和JSON linq到JSON用于手动阅读和写作JSON 高性能,速度比。净的内置JSON序列化器 写缩进,容易阅读JSON JSON和XML之间进行转换 支持: .NET 2, .NET 3.5, .NET 4, .NET 4.5, Silverlight, Windows Phone and Windows 8 Store 版本: Json.NET has different libaries for the various .NET Framework versions. -Net45: .NET latest (4.5) -Net40: .NET 4.0 -Net35: .NET 3.5 -Net20: .NET 2.0 -WinRT: Windows 8 Store -Portable45: .NET 4.5, Windows Phone 8, Windows 8 Store -Portable40: .NET 4.0, Windows Phone 7, Windows 8 Store, Silverlight 4 Notes: Microsoft stopped support for the Compact Framework in Visual Studio 2010. For a Compact Framework 3.5 build download Json.NET 3.5. For a Silverlight 3.0 build download Json.NET 3.5. Microsoft Visual Studio 2010 重新生成解决方案的一些警告处理 警告 2 预定义类型“System.Action”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 3 预定义类型“System.Action”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 4 预定义类型“System.Action”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 5 预定义类型“System.Action”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 6 预定义类型“System.Func”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 7 预定义类型“System.Func”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 8 预定义类型“System.Func”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 9 预定义类型“System.Func”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 警告 10 预定义类型“System.Func”是在全局别名的多个程序集定义的;将使用“c:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework \v4.0\mscorlib.dll”的定义 ClassLibrary1 问题原因:检查程序发现,由于项目引用了Newtonsoft.Json.Net20,从而造成系统的类重名(项目FRAMEWORK的版本4.0)。 Newtonsoft.Json.Net 包括: .NET 2, .NET 3.5, .NET 4, .NET 4.5, Silverlight, Windows Phone and Windows 8 Store,所有dll文件和源码,有需要的同学可以直接下载。 个人网站多多支持:www.mlyuansu.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pan_junbiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值