前言
必须的是 .netframewoke 4.0的项目才能使用。
内容
1.项目添加System.Runtime.Serialization引用。
2.JsonHelper通用类的代码如下:
using System; using System.Text; //--------------------------using using System.Runtime.Serialization.Json; // 添加引用(.Net 4.0) System.Runtime.Serialization /// <summary> /// JSON辅助类 字符<==>对象(注意:字符里属性的大小写与对象的属性大小写必须保持一致) /// </summary> public class JsonHelper { #region 对象类型转换为json 字符 /// <summary> /// 对象类型转换为json 字符 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="jsonObject">待转换实体</param> /// <param name="encoding">编码格式</param> /// <returns>string</returns> public static string ObjectToJson<T>(Object jsonObject, Encoding encoding) { string result = String.Empty; DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { serializer.WriteObject(ms, jsonObject); result = encoding.GetString(ms.ToArray()); } return result; } #endregion #region json字符转换为对象 /// <summary> /// json字符转换为对象 /// </summary> /// <typeparam name="T">实体类型</typeparam> /// <param name="json">json字符串</param> /// <param name="encoding">编码格式</param> /// <returns>T</returns> public static T JsonToObject<T>(string json, Encoding encoding) { T resultObject = Activator.CreateInstance<T>(); DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); using (System.IO.MemoryStream ms = new System.IO.MemoryStream(encoding.GetBytes(json))) { resultObject = (T)serializer.ReadObject(ms); } return resultObject; } #endregion }
结束
需要注意的是,字符里属性的大小写与对象的属性大小写,必须保持一致,才不会出现问题!
如果本文对你有所帮助,请打赏——1元就足够感动我:)
联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone
联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone
关注公众号:
作者: 王磊
出处: http://vipstone.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,请标明出处。