ASP.NET 里的 JSON操作

最近项目中需要用到 JSON操作,google了一下 找到了几个比较好的操作方法....

 

一 .使用 mircosoft 提供的 .NET Framework 自带的 json操作方法

 

1. 使用JavaScriptSerializer,位于命名空间System.Web.Script.Serialization,使用如下:

序列化为JSON字符串:

C#代码

User user = new User {Name = "jquery", Age = 20};
JavaScriptSerializer serializer = new JavaScriptSerializer();
string result = serializer.Serialize(user);

 

反序列化JSON

C#代码

String input = "";
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.Deserialize(input);

 

2. 使用DataContractJsonSerializer类,

推荐使用这个,这是最新的,位于命名空间System.Runtime.Serialization.Json下,序列化和反序列化分别调用它的WriteObject()和ReadObject()方法就可以了。

 

二:使用第三方的 JSON.NET  (http://json.codeplex.com/)

Version: Json.NET 3.5 Release 7
Date: Fri Apr 16 2010 at 3:00 PM


在项目中添加Newtonsoft.Json.dll引用..

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

 

//把Json字符串反序列化为对象

目标对象 = JsonConvert.DeserializeObject(JSON字符串, typeof(目标对象));


//把目标对象序列化为Json字符串

string Json字符串 = JsonConvert.SerializeObject(目标对象);

 

 string jsonText = "";


//json 读取
jsonText = "['JSON!',1,true,{property:'value'}]";
JsonReader reader = new JsonTextReader(new StringReader(jsonText));
Console.WriteLine("TokenType\t\tValueType\t\tValue");
while (reader.Read())
{
    Console.WriteLine(reader.TokenType + "\t\t" + reader.ValueType + "\t\t" + reader.Value);
    Console.WriteLine("\n\r");
}

 

//JSON写入
StringWriter sw = new StringWriter();
JsonWriter writer = new JsonTextWriter(sw);
writer.WriteStartArray();
writer.WriteValue("JSON!");
writer.WriteValue(1);
writer.WriteValue(true);
writer.WriteStartObject();
writer.WritePropertyName("property");
writer.WriteValue("value");
writer.WriteEndObject();
writer.WriteEndArray();
writer.Flush();
jsonText = sw.GetStringBuilder().ToString();
Console.WriteLine(jsonText);

 

一些相关的json操作的链接和资料

json官方: http://www.json.org/json-zh.html

另外一种开源的json类库 : Jayrock.Json  (http://www.cnblogs.com/chjw8016/archive/2010/04/20/1716198.html?login=1#commentform)

转载于:https://www.cnblogs.com/liuhh/articles/1782923.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值