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

}

 
の最後の部分
文字の中の属性の大文字と小文字はオブジェクトの属性の大文字と小文字と一致していなければ、問題は発生しません.