现在的位置: 首页 > 综合 > 正文

asp.net中javascript中json和C#对象之间的转换

2012年10月01日 ⁄ 综合 ⁄ 共 1264字 ⁄ 字号 评论关闭

方法1:在前台javascript中拼接json格式,数组格式(或者集合)[{},{}],对象格式{"":"","":""}还有值得格式{name:{"":""}}

在后台使用List<T> listWebsitUser = Newtonsoft.Json.JsonConvert.DeserializeObject(json, typeof(List<T>)) as List<RecommedWebSiteUser>;在这里json是一个集合所以转化为一个泛型List<T>

listWebsitUser是RecommedWebSiteUser的泛型集合,这样就把前台拼接的字符串json转化为了集合List<T>

    [Serializable]

class RecommedWebSiteUser
    {
        private string userId;

        public string UserId
        {
            get { return userId; }
            set { userId = value; }
        }
        private string realName;

        public string RealName
        {
            get { return realName; }
            set { realName = value; }
        }
    }

将list<T>在转化为json的方法:

   //第一种方法,这种方法要添加引用System.Runtime.Serialization.dll、System.ServiceModel.Web.dll
        DataContractJsonSerializer serializer = new DataContractJsonSerializer(listWebsitUser.GetType());

                // 定义一个stream用来存发序列化之后的内容
                Stream stream = new MemoryStream();
                serializer.WriteObject(stream, listWebsitUser);

                // 从头到尾将stream读取成一个字符串形式的数据,并且返回
                stream.Position = 0;
                StreamReader streamReader = new StreamReader(stream);
                string json3 = streamReader.ReadToEnd();

   //第二种方法
                string json1 = Newtonsoft.Json.JsonConvert.SerializeObject(listWebsitUser);

这两种方法必须把类标记为可序列化的类

抱歉!评论已关闭.