首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化

前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web...XML Serialization——XML序列化 本小节描述使用默认DataContractSerializer的时,XML格式化器的一些特殊行为。...只读属性不作序列化 类名和成员名按类声明中的确切呈现写入XML 使用XML的默认命名空间 如果需要在序列化上的更多控制,可以用DataContract注解属性修饰类。...; xml.Indent = true; 设置每一类型(Per-Type)的XML序列化器 你可以为不同的CLR类型设置不同的XML序列化器。...(json, str); } 总结  本课主要简单的了解一下JSON和XML的序列化和反序列的使用。

2.1K30

快速入门系列--WCF--02消息、会话与服务寄宿

WCF所提供的服务是单例的呢还是单调的呢?服务寄宿和客户端代理是如何实现的呢?接下来,将以这些问题为线索进行深入学习,包容包括XML序列化与SOAP消息、会话与实例、服务寄宿与客户端代理。 ?...现在可以发现,基本上以json格式为基础的restful服务其实都转化为了WebAPI项目,而不是WCF。...> 数据契约和数据成员 DataContractAttribute和DataMemberAttribute的本质是通过反射进行序列化为数据流...ServiceHost:是服务寄宿的核心,包括创建、终结点添加、开启和关闭等基本步骤,服务描述的创建和运行时框架体系的构建也与其息息相关。...,改善服务器密度和可伸缩性;ASP.NET动态编译。

1.3K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Web API--入门--(一)ASP.NET Web API 2(C#)入门

    ASP.NET Web API是在.NET Framework之上构建Web API的框架。在本教程中,您将使用ASP.NET Web API创建返回产品列表的Web API。...在“ 新建ASP.NET项目 ”对话框中,选择“ 空”模板。在“添加文件夹和核心参考”下,查看Web API。单击确定。 ? 注意 您还可以使用“Web API”模板创建一个Web API项目。...添加模型 一个模型是代表你的应用程序中的数据的对象。ASP.NET Web API可以自动将您的模型序列化为JSON,XML或其他格式,然后将序列化数据写入HTTP响应消息的正文。...只要客户端可以读取序列化格式,就可以反序列化对象。大多数客户端可以解析XML或JSON。此外,客户端可以通过在HTTP请求消息中设置Accept头来指示所需的格式。...如果您单击响应体选项卡,您可以看到产品列表如何序列化为JSON。其他浏览器具有相似的功能。另一个有用的工具是Fiddler,一个Web调试代理。

    4.3K10

    实战 ASP.NET Web API

    Web API 的开发类似于 ASP.NET MVC 中控制器的开发,但是相对于直接使用 ASP.NET MVC 来返回 Json 对象的方式而言,Web API 封装了数据的序列化、反序列化,接口、实现都更加简单...数据序列化 Web API 框架目前支持两种数据格式的序列化:Json 及 Xml。...在不做任何配置的情况下,如果 Http 请求中,HttpHeader 中 Accept 被指定为 accept: application/xml,则 Web API 会自动把数据使用 xml 进行序列化...一般情况下,我们会使用 Json 序列化。跟 ASP.NET MVC 的 Json 序列化不同的是,Web API 使用了 Newtonsoft.Json 框架来进行序列化。...如果参数列表中只有一个参数,而且它的类型是一个复杂类型,那么 Web API 会直接把 Body 尝试反序列化为该类的对象。

    1.4K50

    使用 ASP.NET Web API 构建超媒体 Web API

    例如,如果取消采购订单 (PO),就不应允许客户端应用程序提交该 PO,这意味着在发送到客户端的响应中应无法使用提交该 PO 的链接或表单。 超媒体应运而生 链接始终是 REST 体系结构的重要组件。...这也提供了在运行时修改工作流的新机会而不影响现有客户端。如果目录中的任意产品缺货,服务器只需要忽略用于将该产品添加到购物车的链接即可。从客户端角度看,该链接不可用,因此无法订购该产品。...格式化程序实现形式知道如何处理特定媒体类型,以及如何将它序列化或反序列化为具体的 .NET 类型。过去在 ASP.NET MVC 中对新媒体类型的支持十分有限。...,重写方法 CanWriteType/WriteToStreamAsync 以支持将 .NET 类型序列化为指定的媒体类型格式。...products/2" } } } }; public Products Get() { return Products; } } 此示例使用 HAL 格式,但是您还可以使用类似方法来构建使用 Razor 的格式化程序和将模型序列化为

    2.8K50

    ASP.NET Core中使用Protobuf从入门到实战

    ,具有跨平台、跨语言、可扩展特性,类型于常用的XML及JSON,但具有更小的传输体积、更高的编码、解码能力,特别适合于数据存储、网络数据传输等对存储体积、实时性要求高的领域。...但序列化后的数据字节很大,序列化和反序列化的时间较长,数据传输效率不高。...Protobuf和Xml、Json序列化的方式不同,采用了二进制字节的序列化方式,用字段索引和字段类型通过算法计算得到字段之前的关系映射,从而达到更高的时间效率和空间效率,特别适合对数据大小和传输速率比较敏感的场合使用...网址 : https://protogen.marcgravell.com/ 四、ASP.NET Core中使用Protobuf格式作为数据交换 1、请求=》PB》反序列化为对象—请求数据 2...、响应=》响应的数据》序列化为PB格式 ?

    2.1K10

    Visual Studio 2012 中的ASP.NET Web API

    *它们对许多事务性或复杂的方案来说很不错。然后还有更轻量级的RESTful web 服务或"Web API",它们使用 JSON,XML,展示了所有的好东西和HTTP 规范的稳定性。...WCF 过得好好的, ASP.NET 也如此,每种技术都有使用其的理由。正如这篇文章说得好, "SOAP的世界与HTTP 服务的世界是完全不同的。...Kelly Sommers在澄清REST中撰写了我认为是REST的最好诠释,无论你想编写 RESTful专注于资源的 HTTP 服务还是只是POX或 POJ (Plain Old XML 或Plain...它是ASP.NET 开源的Web栈的所有部分。 ASP.NET Web API Samples on Codeplex,看到C# 协议对象如何在 JSON 世界和 C# 世界之间轻易来回移动了吗?...JSON 和 JavaScript真的是动态的,不过通常它是件麻烦事来尝试将真的动态的 JSON 对象反序列化为强类型的.NET结构。

    3.2K80

    ASP.NET中各命名空间及作用

    通过使用这些存储区,可以读写入受信任程度较小的代码无法访问的数据,并且可以防止公开可保存在文件系统中其他位置的敏感信息。数据存储在独立于当前用户和代码所在的程序集的数据舱中。 ...System.Web.Mobile  包含生成 ASP.NET 移动 Web 应用程序所需的核心功能,其中包括身份验证和错误处理。 ...System.Web.Services  包含使您可以利用 ASP.NET 和 XML Web services 客户端来创建 XML Web services 的类。...System.Web.UI.MobileControls.Adapters  包含由 ASP.NET 移动控件用来自定义设备和支持扩展设备的核心设备适配器类。 ...System.Xml.Serialization  包含用于将对象序列化为 XML 格式的文档或流的类。  System.Xml.XPath  包含 XPath 分析器和计算引擎。

    3.1K10

    快速入门系列--MVC--03控制器和IOC应用

    Asp.net MVC也接触好久了,但由于自己一直主要负责后台,尤其是数据库方面的工作对于该框架并没有一个很好的了解,尤其是蒋金楠大师的ASP.NET MVC4框架剖析一书都买了2年多了,真正认真看过并实践过的也就第一章而已...ASP.NET MVC框架的主要的处理过程就是通过解析URL信息获取Controller的名称和Action的名称,同时通过Model的绑定机制将请求上下文所包含的请求数据转化为Action方法调用的参数列表...再则说说Controller类型的缓存,为了提高解析Controller的效率,框架对其进行了缓存,是一种XML文件形式的缓存,可以%Windir%\Micrisoft.NET的相关子目录中找到,与AreaRegistration...的缓存方式类似,需要时将该XML文件反序列化为一个List对象即可。...),当需要呈现数据时,回见Model中获得数据转化为ViewModel的形式用于呈现。

    56960

    《WCF技术剖析》博文系列汇总

    所以WCF下的序列化(Serialization)解决的就是如何将数据从对象的表现形式转变成XML表现形式,以确保数据的正常交换。...DataContractSerializer序列化或者反序列化对象的数量;以及如何在序列化后的XML中保存被序列化对象的对象引用结构。...在这篇文章中,我们会详细讨论WCF序列化中一个重要的话题:已知类型(Known Type)。 WCF下的序列化与反序列化解决的是数据在两种状态之间的相互转化:托管类型对象和XML。...反之,对于一段给定的基于数据契约的XML,要通过反序列化生成该类型的对象,我们该如何实现这样的场景?...对于一般的异常(比如执行Divide操作抛出的DivideByZeroException),在默认的情况下,异常信息无法实现向客户端传递。

    1.4K100

    将传统 ASP.NET 应用迁移到 .NET Core

    诚然,.NET Core 是未来, 但是.NET Framework 仍在支持, 因为大量的应用程序无法在短时间内迁移。...对于无法迁移的历史遗留代码,你可能需要考虑重新设计整个应用的架构,将这些功能作为REST API暴露出来,可以使用.NET Framework上的ASP.NET Web API来实现。...Core 会使用 camelCase 序列化 JsonResult ,而传统 ASP.NET MVC 使用的是PascalCase,这会导致依赖Json结果的 JavaScript 代码爆掉。...15 新的Razor Tag Helpers Tag helper 可以帮助你讲老的HTML helper 简化为更加面向HTML可读的代码,例如一个表单,我们曾经要这样写: ?...因此,你无法在服务器上直接修改一个视图,因为文件夹中根本就不存在 Views,只有一个 *.Views.dll: ?

    4.8K41

    Contact Manager Web API 示例CRUD 操作

    下面的文章以这个示例讲解ASP.NET Web API的各方面知识: 1、CRUD操作: CURD 是 "Create, Read, Update, Delete" (新增、读取、更新、删除) 的简写,...新增资源 在 ASP.NET Web API,你能在 Model 使用强型别 CLR 对象,他们将会自动序列化为 XML 或 JSON 给 Client。...因此,我们预期 Client 传送给我们的是一个经序列化表现的联系人对象,使用 XML 或 JSON 来序列化。...默认,ASP.NET Web API Framework 会从请求主体 (request body)里的 route 与 复合(complex) 型别来取得简易的参数类型。...CRUD 操作总结 在使用 ASP.NET Web API Framework 时,你能发现与 HTTP/1.1 规范有很大关连性,以前较很少关心与了解的内容,例如,PUT、DELETE、POST的处理

    92990

    通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行

    除此之外,即使 RNGCryptoServiceProvider 错误地生成了重复的随机数字,也无法解释 ASP.NET 为何不可思议地将有效的会话 ID 替换为新的 ID(不唯一)。...要使用配置文件服务,您可以定义一个 XML 配置文件,其中包含要保留的代表单个用户的属性。然后,ASP.NET 编译一个包含相同属性的类,并通过添加到页的配置文件属性提供对类实例的强类型访问。...但是 _count 却没有经过序列化和反序列化,因为它是私有的,而且默认情况下 ASP.NET 配置文件管理器使用 XML 序列化对自定义类型进行序列化和反序列化。XML 序列化程序将忽略非公共成员。...该解决方案能够保持类本身的设计。与 XML 序列化程序不同的是,二进制序列化程序序列化字段,而不管是否可以访问。图 7 显示 Posts 类的修复版本并突出显示了更改的附带配置文件定义。...否则,将无法进行完整的序列化,并且您还将浪费时间来尝试确定配置文件无法工作的原因。

    3.6K80

    【翻译】ASP.NET Web API入门

    简介 ASP.NET Web API是一个可以简化创建HTTP服务的框架 它支持包括浏览器和移动设备在内的各种客户端 ASP.NET Web API是在.NET Framework上创建RESTful应用程序的理想平台...: 创建模型 模型是一个用来展现数据的对象 ASP.NET WEB API可以自动序列化模型对象 为JSON、XML、或者其他的数据格式 然后把序列化后的数据写入HTTP的Response消息内 客户端可以读取这些序列化后的数据...并把这些数据反序列化成一个对象 大多数客户端可以解析XML,JSON数据 并且可以根据消息的header来决定使用什么格式化数据的方式 创建一个名为Product的模型类 代码如下 using System...MVC 你会发现ASP.NET WEB API的控制器 与ASP.NET MVC的控制器基本相同 最大的不同就是 ASP.NET WEB API的控制器继承自ApiController ASP.NET...category=category 访问WEB API 运行此工程, 访问如下URL可以得到结果 http://localhost:5380/api/products 这里我们看到的是XML的内容 但

    1.8K30

    使用ServiceStack构建Web服务

    比如,在上面的代码中,如果后续版本的接口需要接受两个参数来执行DoSomething方法,或者说除了返回一个string外还需要返回其他信息。如果在原接口上修改的话,就会使得老版本的客户端无法使用。...“ServiceStack是一个高性能的.NET Web Service 平台,他能够简化开发高性能的REST (支持JSON,XML,JSV,HTML,MsgPack,ProtoBuf,CSV等消息格式...,如果没有添加这些标签,在序列化的时候就会忽略。...只需要新建一个ServiceStack的Service,然后将Host的地址传入即可。这些方法在内部会为我们将代码转化为传统的使用HttpWebRequest的方式请求,目前这些方法还都是同步的。...对象可以换成ServiceStack支持的其他数据序列化格式。

    1.7K50

    程序员Web面试之JSON

    是否用SOAP可以做JSON同样的事情呢? 有2点不同: 首先,SOAP是用XML标签表达,比较重。JSON比较轻,纯数据。 其次,最重要的是,JSON可直接转换为javascript对象。...同样的要转换SOAP XML为javascript对象是较繁琐的任务。 ? 是否所有的技术都支持JSON? 是的,几乎所有的数据交换都支持JSON。...: 如果你想使用ASP.NET返回JSON,我们需要使用“DataContractJsonSerializer”类。...首先,我们需要调用jQuery的”serialize“,把需要post的表单序列化为JSON对象。 然后,采用上面类似的办法进行post即可。...要转换一个JSON字符串到C#对象,我们需要使用“JavaScriptSerializer”类,并使用“反序列化”,我们将字符串转换为C#对象。

    2.2K100
    领券