转换json格式

    public class JsonHelper
    {
        #region 生成json格式数据
        public static string GetJson<T>(T obj)
        {
            string szJson = string.Empty;
            DataContractJsonSerializer json = new DataContractJsonSerializer(obj.GetType());
            using (MemoryStream stream = new MemoryStream())
            {
                json.WriteObject(stream, obj);
                szJson = Encoding.UTF8.GetString(stream.ToArray());
            }
            return szJson;
        }
        #endregion

        #region 解析json格式数据
        public static T ParseFromJson<T>(string szJson)
        {
            T obj = Activator.CreateInstance<T>();
            using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
                return (T)serializer.ReadObject(stream);
            }
        }
        #endregion
    }
  

注:如果vs没有打补丁会出现这个问题无法序列化类型“Model.Users”。可以考虑使用 DataContractAttribute 属性对其进行标记,或使用 DataMemberAttribute 属性标记所有想要序列化的该类型的成员。  、

我使用的vs2008打完补丁问题就解决了

posted @ 2011-03-16 14:11  ooyiye  阅读(536)  评论(0编辑  收藏  举报