做网站的好处在哪里,网站在什么地方设关键词,制定营销推广方案,一键做网站关于json的操作#xff0c;网上一搜一大把。避免重复造轮子#xff0c;整理发布一个笔者在项目开发中经常用到的一个json实用帮助类#xff0c;泛型实现#xff0c;非常方便。不废话了#xff0c;贴代码#xff1a;1、json操作的帮助类#xff1a; Codeusing System;usi…关于json的操作网上一搜一大把。避免重复造轮子整理发布一个笔者在项目开发中经常用到的一个json实用帮助类泛型实现非常方便。不废话了贴代码1、json操作的帮助类 Codeusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Reflection;using System.IO;using System.Runtime.Serialization.Json;using System.Web.Script.Serialization;namespace DotNet.Common.Util{    /// summary    /// Json操作帮助类    /// /summary    public static class JsonHelper    {        #region DataContractJsonSerializer        /// summary        /// 对象转换成json        /// /summary        /// typeparam nameT/typeparam        /// param namejsonObject需要格式化的对象/param        /// returnsJson字符串/returns        public static string DataContractJsonSerializeT(T jsonObject)        {            DataContractJsonSerializer serializer  new DataContractJsonSerializer(typeof(T));            string json  null;            using (MemoryStream ms  new MemoryStream()) //定义一个stream用来存发序列化之后的内容            {                serializer.WriteObject(ms, jsonObject);                json  Encoding.UTF8.GetString(ms.GetBuffer()); //将stream读取成一个字符串形式的数据并且返回                ms.Close();            }            return json;        }        /// summary        /// json字符串转换成对象        /// /summary        /// typeparam nameT/typeparam        /// param namejson要转换成对象的json字符串/param        /// returns/returns        public static T DataContractJsonDeserializeT(string json)        {            DataContractJsonSerializer serializer  new DataContractJsonSerializer(typeof(T));            T obj  default(T);            using (MemoryStream ms  new MemoryStream(Encoding.UTF8.GetBytes(json)))            {                obj  (T)serializer.ReadObject(ms);                ms.Close();            }            return obj;        }        #endregion        #region JavaScriptSerializer  ms这里的两个方法已经out了        //“System.Web.Script.Serialization.JavaScriptSerializer.JavaScriptSerializer()”已过时:         //“The recommended alternative is System.Runtime.Serialization.DataContractJsonSerializer.”        /// summary        /// 对象转换成json        /// /summary        /// typeparam nameT/typeparam        /// param namejsonObject/param        /// returns/returns        public static string JavaScriptSerializeT(T jsonObject)        {            JavaScriptSerializer serializer  new JavaScriptSerializer();            StringBuilder sb  new StringBuilder();            serializer.Serialize(jsonObject, sb);            return sb.ToString();        }        /// summary        /// json字符串转换成对象        /// /summary        /// typeparam nameT/typeparam        /// param namejson/param        /// returns/returns        public static T JavaScriptDeserializeT(string json)        {            var result  new JavaScriptSerializer().DeserializeT(json);            return (T)result;        }        #endregion    }} ps需要添加System.ServiceModel.Web和System.Runtime.Serialization两个引用。ps1对时间、DataTable等特殊类型没有单独列出处理。2、在页面中的调用方式如下 Codeusing System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Text;namespace WebTest{    using DotNet.Common.WebForm;    using DotNet.Common.Model;    using EntCor.Hrm.Model;    using DotNet.Common.Util;    public partial class JsonTest : BasePage    {        protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                Company company  new Company { ID  123456789, CompanyName  test };                ListEmployee listEmployees  new ListEmployee();                Employee employee  new Employee { ID  1, UserName  jeff wong, Password  123456, Address  北京, Birthday  DateTime.Now.AddYears(-25), IsLeave  false, RealName  测试用户, State  2 };                listEmployees.Add(employee);                employee  new Employee { ID  2, UserName  jeffery zhao, Password  654321, Address  上海, Birthday  DateTime.Now.AddYears(-25), IsLeave  false, RealName  测试用户2, State  2 };                listEmployees.Add(employee);                company.Employees  listEmployees;                //对象序列化为json                string jsonStr  DotNet.Common.Util.JsonHelper.DataContractJsonSerializeCompany(company);//等价于过时的 string jsonStr  DotNet.Common.Util.JsonHelper.JavaScriptSerializeCompany(company);                this.ltrContext.Text  jsonStr;                //json字符串反序列化为对象                Company jsonCompany  DotNet.Common.Util.JsonHelper.DataContractJsonDeserializeCompany(jsonStr);                Company jsonJsCompany  DotNet.Common.Util.JsonHelper.JavaScriptDeserializeCompany(jsonStr); //过时了                Response.Write(公司id:jsonCompany.ID);                Response.Write(br/br/公司id:  jsonJsCompany.ID);            }        }    }} psCompany和Employee分别对应公司类和员工类。 关于json的其他学习资源推荐JSON In Code 和JSONdemo下载地址demo转载于:https://www.cnblogs.com/jeffwongishandsome/archive/2009/10/14/1543917.html