DataContractJsonSerializer是在System.ServiceModel.Web.dll中,但命名空间却是System.Runtime.Serialization.Json。

转载 2009年07月18日 13:13:00

        //Json格式的数据  
        var data = '{"Addr":"北京市","Age":23,"Name":"张三","Password":"2342356","Tel":"6666666"}';  
         
        //转化为js对象  
        var obj = eval('('+data+')');  
          
        alert(obj.Addr); 

        //Json格式的数据
        var data = '{"Addr":"北京市","Age":23,"Name":"张三","Password":"2342356","Tel":"6666666"}';
      
        //转化为js对象
        var obj = eval('('+data+')');
       
        alert(obj.Addr);
.NET中可通过DataContractJsonSerializer来把实体转为json格式的字符串。

 需要注意这个DataContractJsonSerializer是在System.ServiceModel.Web.dll中,但命名空间却是System.Runtime.Serialization.Json。这个需要注意下。

示例代码:

 
UserInfo userInfo = new UserInfo();  
            userInfo.Name = "张三";  
            userInfo.Age = 23;  
            userInfo.Password = "2342356";  
            userInfo.Tel = "6666666";  
            userInfo.Addr = "北京市";  
 
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(UserInfo));  
            System.IO.MemoryStream ms = new System.IO.MemoryStream();  
            serializer.WriteObject(ms,userInfo);  
            System.IO.StreamReader reader = new System.IO.StreamReader(ms);  
            ms.Position = 0;  
            string res = reader.ReadToEnd();  
            reader.Close();  
            ms.Close();  
 
            Console.WriteLine(res); 


UserInfo userInfo = new UserInfo();
            userInfo.Name = "张三";
            userInfo.Age = 23;
            userInfo.Password = "2342356";
            userInfo.Tel = "6666666";
            userInfo.Addr = "北京市";

            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(UserInfo));
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            serializer.WriteObject(ms,userInfo);
            System.IO.StreamReader reader = new System.IO.StreamReader(ms);
            ms.Position = 0;
            string res = reader.ReadToEnd();
            reader.Close();
            ms.Close();

            Console.WriteLine(res);
虽然网上的资料有说实体类必须标准[DataContract]属性,成员必须标准[DataMember]才可以实例化,但MSDN上没有这么说,并且我上面的代码没标注,也依旧序列化了。

关于C#使用DataContractJsonSerializer来进行JSON解析

关于C#使用DataContractJsonSerializer来进行JSON解析
  • carlblack1987
  • carlblack1987
  • 2017年03月16日 10:08
  • 1961

DataContractJsonSerializer进行Json的序列化和反序列化

使用DataContractJsonSerializer进行Json的序列化和反序列化 引用(Using): using System.IO; using System.Runtime.Serial...
  • OYZ8610
  • OYZ8610
  • 2015年11月20日 14:55
  • 141

.Net——使用DataContractJsonSerializer进行序列化及反序列化基本操作

在平常中,我们经常会用到将一个T类型的东西,序列化成Json然后返回绑定数据到页面这样一个过程。每次面试,大概都被问到怎么序列化的呀?回答总是底层封装好的,算啦,还是做个简单栗子玩玩儿吧,也好堵住面试...
  • lhc2207221755
  • lhc2207221755
  • 2015年06月21日 22:21
  • 2378

解决如下json格式的字符串不能使用DataContractJsonSerializer序列化和反序列化

可以解决如下json格式的字符串不能使用DataContractJsonSerializer反序列化 {     "ss": "sss",     "ss1": "sss",     "s...
  • ijasonchen91
  • ijasonchen91
  • 2015年01月28日 14:26
  • 522

DataContractJsonSerializer 没有using 类库找不到

除了要添加引用System.Runtime.Serialization;还要添加System.ServiceModelSystem.ServiceModel.Web 这个两个类库引用完以后应该就知道怎...
  • qq719365064
  • qq719365064
  • 2016年10月25日 17:50
  • 92

.net中解析json 之 DataContractJsonSerializer类

json 是轻量级的文本传输格式,一般用于前台和后台的数据交换 DataContractJsonSerializer是fm3.5中专门对json序列化和反序列化的类,以下是DataContrac...
  • yang1994
  • yang1994
  • 2014年02月21日 16:51
  • 3426

C#解析JSON几种方式

一、什么是JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Editi...
  • dyllove98
  • dyllove98
  • 2013年06月22日 23:15
  • 36327

C#Socket通信使用DataContractJsonSerializer传递对象

使用到的命名空间添加引用System.Runtime.Serialization.dll以及Json.Net下的Microsoft.CSharp.dll。 添加命名空间using System.IO...
  • Markslin
  • Markslin
  • 2015年09月09日 17:41
  • 552

C# Json序列化和反序列化辅助类(官方DLL)

using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin...
  • qq183518918
  • qq183518918
  • 2013年11月25日 21:44
  • 4057

MFC edit控件实现自动换行

必须设置Vertical Scrollbar = TRUE 必须设置MultiLine = TRUE 必须设置Horizontal Scrollbar = FALSE 必须设置Auto HScr...
  • a200638012
  • a200638012
  • 2016年07月08日 17:22
  • 4783
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DataContractJsonSerializer是在System.ServiceModel.Web.dll中,但命名空间却是System.Runtime.Serialization.Json。
举报原因:
原因补充:

(最多只允许输入30个字)