JSON

基于.NET的JSON数据传输格式问题总结

字号+ 作者:H5之家 来源:H5之家 2017-03-14 13:01 我要评论( )

Json 凭借其自身的优势,在Web数据处理方面已经占据一定的位置,这段时间涉及到用Json做为数据传输格式的项目有3个,其中有部分页面就采用了Json 数据传输格式,

  【IT168技术】Json 凭借其自身的优势,在Web数据处理方面已经占据了一定的位置,这段时间涉及到用Json做为数据传输格式的项目有3个,其中有部分页面就采用了Json 数据传输格式, 这里我总结下这段时间采用这种方式的一些问题总结,

  一、向客户端提供JSON数据的方式

  1. 用WCF提供Json数据

  用WCF向客户端提供Json数据我们需要注意,

  ① 契约的定义, 在WebInvokeAttribute 或者 WebGetAttribute中的ResponseFormat设置为WebMessageForm.Json,

  ② EndPointBehavior使用WebHttp

  ③ Binding 方式使用webHttpBinding

  2. 用.Net MVC Action提供 JSON 数据

  ① 在ValueProviderFactories.Factories.Add(new JsonValueProviderFactory())中加入 Json 数据的处理, MVC 3默认是加入的, 如果你使用的是 MVC3, 则无需理会这一点.

  ② 采用JsonResult作为你Action的返回值。

  ③返回是使用return Json(XXX); XXX为你要返回的数据,其数据类型必须为可序列化类型.

  3. 可采用以asmx为后缀名的简单WebService来实现,

  4. 使用HttpHandler机制来实现.

  因为WCF已被微软定义为微软系下的通信平台,而后两种随可以实现,但是是较早的实现方式,所以在此我使用了WCF,直接把所提供的数据,视作系统的数据提供接口.

  而在.NET MVC的环境里, 已经直接支持输出 Json 形式的数据,所以在非.NET MVC的环境选择WCF提供, 而在.NET MVC环境直接选择用JSON Action支持.

  二、WEB客户端处理

  用JQuery Ajax处理

  把 dataType设置为 'json' 格式,在接收数据时会自动把result转换为json object格式.

   三、异常处理的考虑

  在这里我主要考虑在Web环境下异常的处理, 根据HTTP协议的定义, 每次请求都会返回一个 HTTP Status Code , 不同的Code代表了不同的意义。因此我们的Web应用程序也应该是这样,根据不同的结果返回不同的 HTTP Status Code , 比如200,代表服务端正确的返回,417代表我们期望的服务端异常,404,请求不存在等, 以及301我们的未授权。

  在WCF环境下,我们首先要给每个方法添加 FaultContract, 如下:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JSON.parse与JSON.stringify

    JSON.parse与JSON.stringify

    2017-03-14 14:00

  • java如何调用json

    java如何调用json

    2017-03-14 12:03

  • 使用 R 从 JSON 中的数据中获取有意义的统计方法

    使用 R 从 JSON 中的数据中获取有意义的统计方法

    2017-03-14 12:00

  • PHP中json_decode()溢出的问题

    PHP中json_decode()溢出的问题

    2017-03-14 11:03

网友点评
o