c# 在.NET使用Newtonsoft.Json转换,读取,写入json
Posted 苏苏苏en
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 在.NET使用Newtonsoft.Json转换,读取,写入json相关的知识,希望对你有一定的参考价值。
转自:http://blog.sina.com.cn/s/blog_70686f3a0101kemg.html
首先,大家要明白什么是json,了解更多关于json方面资料大家可以点击https://www.ibm.com/developerworks/cn/web/wa-lo-json/ ,我在这里简单介绍下json:
JSON 即 javascript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。
在.NET环境下面,我们使用Json.net来实现JSON数据的序列化和反序列化。
首先点击连接http://sourceforge.net/projects/csjson/?source=dlp 下载JSON .NET插件和代码。
然后在项目中进行引用Newtonsoft.Json.dll
添加命名空间:using Newtonsoft.Json;
下面介绍json序列化和反序列化的放个重要方法和例子:
JsonConvert.SerializeObject(object value)序列化,它有个重载方法JsonConvert.SerializeObject(object value, params JsonConverter[] converters)。
JsonConvert.DeserializeObject(string value, Type type),反序列化,它有个重载方法JsonConvert.DeserializeObject(string value, Type type, params JsonConverter[] converters)
这两个方法可以实现基本的序列化和反序列化要求,请看下面的例子:
JsonConvert.DeserializeObject(string value, Type type),反序列化,它有个重载方法JsonConvert.DeserializeObject(string value, Type type, params JsonConverter[] converters)
这两个方法可以实现基本的序列化和反序列化要求,请看下面的例子:
首先我们先建一个Person类代码如下:
public class Person
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private int age;
public int Age
{
get { return age; }
set { age = value; }
}
}
public int Age
{
get { return age; }
set { age = value; }
}
}
1)序列化
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json;
namespace JSONnet
{
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person person = new Person();
person.Name = "GoldenEasy";
person.Age = 25;
string strSerializeJSON = JsonConvert.SerializeObject(person);
Response.Write(strSerializeJSON);
{
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person person = new Person();
person.Name = "GoldenEasy";
person.Age = 25;
string strSerializeJSON = JsonConvert.SerializeObject(person);
Response.Write(strSerializeJSON);
}
}
}
}
}
输出结果:
{"Name":"GoldenEasy","Age":25}
2)反序列化
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json;
namespace JSONnet
{
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person person = new Person();
person.Name = "GoldenEasy";
person.Age = 25;
string strSerializeJSON = JsonConvert.SerializeObject(person);
Person user = (Person)JsonConvert.DeserializeObject(strSerializeJSON, typeof(Person));
Response.Write(user.Name);
{
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person person = new Person();
person.Name = "GoldenEasy";
person.Age = 25;
string strSerializeJSON = JsonConvert.SerializeObject(person);
Person user = (Person)JsonConvert.DeserializeObject(strSerializeJSON, typeof(Person));
Response.Write(user.Name);
}
}
}
}
}
输出结果为:GoldenEasy
以上是关于c# 在.NET使用Newtonsoft.Json转换,读取,写入json的主要内容,如果未能解决你的问题,请参考以下文章
.Net C# Newtonsoft.Json JsonSerializerSettings配置
JsonConvert 在 Newtonsoft.Json Asp.net MVC C# 中不起作用
C#如何Json转字符串;字符串转Json;Newtonsoft.Json(Json.Net)
C#中使用Newtonsoft.Json序列化和反序列化自定义类对象