netframework 4.0内置处理JSON对象

前言

必须的是 .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

}

 

结束

需要注意的是,字符里属性的大小写与对象的属性大小写,必须保持一致,才不会出现问题!

 

 

 

 

你可能感兴趣的:(framework)