码迷,mamicode.com
首页 > Web开发 > 详细

json序列化和反序列化案例

时间:2015-11-09 17:10:50      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:

      JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式。在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍,ASP.NET如何序列化和反序列化的处理,在序列化和反序列化对日期时间、集合、字典的处理。

序列化简单理解为:把集合、数组等里的数据变成字符串

反序列化简单理解为:把字符串还原成集合,数组等对象。

1.对JSON数据进行序列化和反序列化

方法一:

可以使用DataContractJsonSerializer类将类型实例序列化为JSON字符串,并将JSON字符串反序列化为类型实例。DataContractJsonSerializer在System.Runtime.Serialization.Json命名空间下。

using System; 

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Runtime.Serialization.Json;

using System.IO;

using System.Text;

 /// <summary>

 /// JSON序列化和反序列化辅助类

/// </summary>

public class JsonHelper

{

/// <summary>

/// JSON序列化

/// </summary>

public static string JsonSerializer<T>(T t)

 {

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));

MemoryStream ms = new MemoryStream();

ser.WriteObject(ms, t);

string jsonString = Encoding.UTF8.GetString(ms.ToArray());

ms.Close();

return jsonString;

}

/// <summary>

/// JSON反序列化

/// </summary>

public static T JsonDeserialize<T>(string jsonString)

{

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));

MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));

T obj = (T)ser.ReadObject(ms);

return obj;

}

}

 

方法二:

ASP.NET中的JSON序列化和反序列化还可以使用JavaScriptSerializer,在System.Web.Script.Serializatioin命名空间下,需引用System.Web.Extensions.dll.也可以使用JSON.NET.

 JavaScriptSerializer Serializer= new JavaScriptSerializer();

var aa=Serializer.Serialize(”需要序列化的数组名“);

return:aa;

页面:Eval(‘"+aa+"‘)或者JSON.parse(‘"+aa+"‘)反序列化

json序列化和反序列化案例

标签:

原文地址:http://www.cnblogs.com/AndyCf/p/4950309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!