CN105068801A - 修改json日期格式的方法及系统 - Google Patents
修改json日期格式的方法及系统 Download PDFInfo
- Publication number
- CN105068801A CN105068801A CN201510476918.8A CN201510476918A CN105068801A CN 105068801 A CN105068801 A CN 105068801A CN 201510476918 A CN201510476918 A CN 201510476918A CN 105068801 A CN105068801 A CN 105068801A
- Authority
- CN
- China
- Prior art keywords
- date
- date type
- json
- formatting device
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种修改json日期格式的方法及系统,其中方法包括:S1:客户端向服务端发送请求;S2:服务端通过web?api框架解析所述请求,并发送到自定义格式化器中;S3:自定义格式化器确认所述请求的URL参数值对应的日期类型;S4:自定义格式化器修改所述日期类型为参数值对应的日期类型;S5:web?api框架将http响应对象序列化为json格式,并发送给客户端。通过上述方式,本发明可以降低客户端调用成本,方便用户可以根据之前调用的方式,通过URL配置,即可支持对应的日期格式,无需另外开发日期格式反序列化器。
Description
技术领域
本发明涉及计算机配置格式化技术领域,尤其是涉及一种修改json日期格式的方法及系统。
背景技术
目前json返回的日期格式有许多种,没有统一,在系统之间交互时经常需要针对不同的格式提供不同的返回日期格式,不同的客户端需要重新针对这个返回日期格式进行转换。
现有专利(申请号:201110394879.9)公开了一种基于JSON进行对象化参数传递的方法及系统,所述方法包括:将json对象转化为字符串、并将字符串作为url参数的值;通过filter拦截特定参数,并将其转化为对象;利用action的父类来存储所述对象化后的参数;向参数结构中增加或减少内容,利用ViewState将转化成json对象的字符串输出到页面的块中,形成js的json对象;action从父类中获取对象化的参数、并完成逻辑的处理;回到页面后,新页面从js中获取全局对象化参数、并进行处理。其通过URL配置来解决采用json格式进行对象化参数传递过程中复杂参数传参及多次传参中操作复杂的问题;却没有涉及json格式中的日期格式问题的解决方案。
发明内容
本发明所要解决的技术问题是:为多种类型的日期格式提供可相互转化的方法及系统,实现系统之间交互时日期格式读取的便捷性。
为了解决上述技术问题,本发明采用的技术方案为:提供一种修改json日期格式的方法,包括:
S1:客户端向服务端发送请求;
S2:服务端通过webapi框架解析所述请求,并发送到自定义格式化器中;
S3:自定义格式化器确认所述请求的URL参数值对应的日期类型;
S4:自定义格式化器修改所述日期类型为参数值对应的日期类型;
S5:webapi框架将http响应对象序列化为json格式,并发送给客户端。
为了解决上述技术问题,本发明采用的技术方案为:提供一种修改json日期格式的系统,包括:客户端、服务端及自定义格式化器;并执行如下步骤:
S1:客户端向服务端发送请求;
S2:服务端通过webapi框架解析所述请求,并发送到自定义格式化器中;
S3:自定义格式化器确认所述请求的URL参数值对应的日期类型;
S4:自定义格式化器修改所述日期类型为参数值对应的日期类型;
S5:webapi框架将http响应对象序列化为json格式,并发送给客户端。
本发明的有益效果在于:区别于现有技术,通过上述方式,本发明可以降低客户端调用成本,方便用户可以根据之前调用的方式,通过URL配置,即可支持对应的日期格式,无需另外开发日期格式反序列化器。
附图说明
图1为本发明方法实施例一的流程示意图;
图2为本发明方法实施例二的流程示意图;
图3为本发明系统实施例三的结构框图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:通过自定义格式化器确认并修改所述请求的URL参数中传递的日期类型,并发送给客户端,以方便客户端解析。
本发明提供一种修改json日期格式的方法,包括:
S1:客户端向服务端发送请求;
S2:服务端通过webapi框架解析所述请求,并发送到自定义格式化器中;
S3:自定义格式化器确认所述请求的URL参数值对应的日期类型;
S4:自定义格式化器修改所述日期类型为参数值对应的日期类型;
S5:webapi框架将http响应对象序列化为json格式,并发送给客户端。
其中,http响应对象指的是一个包含日期格式的对象。所谓数据封装就是将一组数据与这组数据有关操作组装在一起,形成一个实体,这个实体就是对象。这里的http响应是与http请求相对应的对象,是值程序中的类被实例化成一个对象。比如可以是个“产品(Product)”对象,其中包含产品名称(Name)、生产时间(CreateTime)两个属性,其序列化成json格式可以是{Name:“商品1”,CreateTime:“2015-07-29T12:00:00”}
区别于现有技术,本发明可以降低客户端调用成本,方便用户可以根据之前调用的方式,通过URL配置,即可支持对应的日期格式,无需另外开发日期格式反序列化器。
其中,步骤S1之前,还包括:
S0:预置自定义格式化器。
其中,步骤S3具体为:
S31:自定义格式化器判断所述请求的URL参数中传递的日期类型是否为传入程序的日期类型;
若是,则执行步骤S5;
反之,则执行步骤S4。
其中,步骤S4具体为:
S41:自定义格式化器修改所述日期类型为microsoft格式的日期类型;或
S42:自定义格式化器修改所述日期类型为ISO标准日期类型。
其中,步骤S5之后,还包括:
S6:客户端获取参数值对应程序的日期类型,并继续执行参数值对应程序的逻辑请求。
区别于现有技术,本发明可以降低客户端调用成本,通过步骤S0,方便修改其日期类型,同时方便用户可以根据之前调用的方式,通过URL配置,即可支持对应的日期格式,无需另外开发日期格式反序列化器。并在发送给客户端后,由客户端获取解析,并执行传入程序自身的逻辑请求。
其中,本发明还对应提供一种修改json日期格式的系统,包括:客户端、服务端及自定义格式化器;并执行如下步骤:
S1:客户端向服务端发送请求;
S2:服务端通过webapi框架解析所述请求,并发送到自定义格式化器中;
S3:自定义格式化器确认所述请求的URL参数值对应的日期类型;
S4:自定义格式化器修改所述日期类型为参数值对应的日期类型;
S5:webapi框架将http响应对象序列化为json格式,并发送给客户端。
其中,步骤S1之前,还包括:
S0:预置自定义格式化器。
其中,步骤S3具体为:
S31:自定义格式化器判断所述请求的URL参数值对应的日期类型是否为传入程序的日期类型;
若是,则执行步骤S5;
反之,则执行步骤S4。
其中,步骤S4具体为:
S41:自定义格式化器修改所述日期类型为microsoft格式的日期类型;或
S42:自定义格式化器修改所述日期类型为ISO标准日期类型。
其中,步骤S5之后,还包括:
S6:客户端获取所述传入程序的日期类型,并继续执行传入程序的逻辑请求。
实施例一:
请参照图1,本发明实施例一提供一种修改json日期格式的方法,包括如下步骤:
S1:客户端向服务端发送请求;
S2:服务端通过webapi框架解析所述请求,并发送到自定义格式化器中;
S3:自定义格式化器确认所述请求的URL参数值对应的日期类型;
S4:自定义格式化器修改所述日期类型为参数值对应的日期类型;
S5:webapi框架将http响应对象序列化为json格式,并发送给客户端。
其中,客户端向服务端发送的是Ajax请求,且客户端也可以是浏览器端。webapi框架可以是微软的asp.netwebapi框架,该框架采用C#语言开发服务端接口,为目前较为流行的框架,用于加速基于http协议的服务端开发。格式化器是将微软提供的框架中提供的一个“类”名Formatter翻译过来的。用于实现各种格式化方式,将服务端的数据格式化为各种表现方式。
区别于现有技术,本发明实施例一可以降低客户端调用成本,方便用户可以根据之前调用的方式,通过URL配置,即可支持对应的日期格式,无需另外开发日期格式反序列化器。
实施例二:
如图2所示,在本发明实施例一的基础上,本发明实施例二在步骤S1之前,还包括:
S0:预置自定义格式化器。
其中,步骤S3具体为:
S31:自定义格式化器判断所述请求的URL参数中传递的日期类型是否为传入程序的日期类型;
若是,则执行步骤S5;
反之,则执行步骤S4。
其中,步骤S4具体为:
S41:自定义格式化器修改所述日期类型为microsoft格式的日期类型;或
S42:自定义格式化器修改所述日期类型为ISO标准日期类型。
其中,步骤S5之后,还包括:
S6:客户端获取参数值对应程序的日期类型,并继续执行参数值对应程序的逻辑请求。
应当理解的是,本发明的服务端开发语言为C#,而不是java。返回到客户端json格式可能会变成一串数字或者一串数字字母符号组合,其表达内容可以是包含时间+时区的格式。
通过在微软的Webapi框架中实现新的格式化器,并通过调用HttpConfiguratoin.Formatters的Add函数加入HttpConfiguratoin.Formatters。格式化器继承JsonMediaTypeFormatter,并重写GetPerRequestFormatterInstance,在重写GetPerRequestFormatterInstance时,根据当前请求的url参数,修改当前序列化器返回值中的日期类型为url参数中指定的格式。
如创建一个格式化器Formatter1继承JsonMediaTypeFormatter,重写GetPerRequestFormatterInstance方法。
重写GetPerRequestFormatterInstance方法,根据方法传入的Request.Url获取到当前请求的url的参数,例如:请求中http://xxx.com/api/getInfo?jsonDate=microsoft,具体参数jsonDate的值为microsoft即返回微软的日期序列化格式\/Date(1437104628000+0800)\/,其中1437104628000为1970年1月1日到具体时间的毫秒数,0800为时区东8区。
在重写的方法中修改GetPerRequestFormatterInstance方法传入的formatter参数,修改formater中的SerializerSettings.DateFormatHandling为对应的日期类型,例如:微软格式,iso标准的格式(2015-1-1T11:11:11);或者修改formatter.SerializerSettings.Converters,加入其他更特殊的日期格式化转换器。
在程序启动时,将自定义的格式化器Formatter1加入HttpConfiguratoin.Formatters中。
区别于现有技术,本发明实施例一可以降低客户端调用成本,方便用户可以根据之前调用的方式,通过URL配置,即可支持对应的日期格式,无需另外开发日期格式反序列化器。
实施例三:
其中,如图3所示,本发明实施例三还对应提供一种修改json日期格式的系统100,包括:客户端110、服务端120及自定义格式化器130;并执行如下步骤:
S1:客户端110向服务端120发送请求;
S2:服务端120通过webapi框架解析所述请求,并发送到自定义格式化器130中;
S3:自定义格式化器130确认所述请求的URL参数值对应的日期类型;
S4:自定义格式化器130修改所述日期类型为参数值对应的日期类型;
S5:webapi框架将http响应对象序列化为json格式,并发送给客户端110。
其中,所述的系统100在步骤S1之前,还包括:
S0:预置自定义格式化器130。
以及,步骤S3具体为:
S31:自定义格式化器130判断所述请求的URL参数值对应的日期类型是否为传入程序的日期类型;
若是,则执行步骤S5;
反之,则执行步骤S4。
以及,步骤S4具体为:
S41:自定义格式化器130修改所述日期类型为microsoft格式的日期类型;或
S42:自定义格式化器130修改所述日期类型为ISO标准日期类型。
以及,所述系统在步骤S5之后,还包括:
S6:客户端110获取所述传入程序的日期类型,并继续执行传入程序的逻辑请求。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种修改json日期格式的方法,其特征在于,包括:
S1:客户端向服务端发送请求;
S2:服务端通过webapi框架解析所述请求,并发送到自定义格式化器中;
S3:自定义格式化器确认所述请求的URL参数值对应的日期类型;
S4:自定义格式化器修改所述日期类型为参数值对应的日期类型;
S5:webapi框架将http响应对象序列化为json格式,并发送给客户端。
2.根据权利要求1所述修改json日期格式的方法,其特征在于,步骤S1之前,还包括:
S0:预置自定义格式化器。
3.根据权利要求1所述修改json日期格式的方法,其特征在于,步骤S3具体为:
S31:自定义格式化器判断所述请求的URL中用于传递的日期类型的参数的参数值是否为格式化器预置的日期类型;
若是,则执行步骤S5;
反之,则执行步骤S4。
4.根据权利要求1所述修改json日期格式的方法,其特征在于,步骤S4具体为:
S41:自定义格式化器修改所述日期类型为microsoft格式的日期类型;或
S42:自定义格式化器修改所述日期类型为ISO标准日期类型。
5.根据权利要求1所述修改json日期格式的方法,其特征在于,步骤S5之后,还包括:
S6:客户端获取参数值对应程序的日期类型,并继续执行参数值对应程序的逻辑请求。
6.一种修改json日期格式的系统,其特征在于,包括:客户端、服务端及自定义格式化器;并执行如下步骤:
S1:客户端向服务端发送请求;
S2:服务端通过webapi框架解析所述请求,并发送到自定义格式化器中;
S3:自定义格式化器确认所述请求的URL参数值对应的日期类型;
S4:自定义格式化器修改所述日期类型为参数值对应的日期类型;
S5:webapi框架将http响应对象序列化为json格式,并发送给客户端。
7.根据权利要求6所述修改json日期格式的系统,其特征在于,步骤S1之前,还包括:
S0:预置自定义格式化器。
8.根据权利要求6所述修改json日期格式的系统,其特征在于,步骤S3具体为:
S31:自定义格式化器判断所述请求的URL参数值对应的日期类型是否为传入程序的日期类型;
若是,则执行步骤S5;
反之,则执行步骤S4。
9.根据权利要求6所述修改json日期格式的系统,其特征在于,步骤S4具体为:
S41:自定义格式化器修改所述日期类型为microsoft格式的日期类型;或
S42:自定义格式化器修改所述日期类型为ISO标准日期类型。
10.根据权利要求6所述修改json日期格式的系统,其特征在于,步骤S5之后,还包括:
S6:客户端获取参数值对应程序的日期类型,并继续执行参数值对应程序的逻辑请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510476918.8A CN105068801A (zh) | 2015-08-06 | 2015-08-06 | 修改json日期格式的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510476918.8A CN105068801A (zh) | 2015-08-06 | 2015-08-06 | 修改json日期格式的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105068801A true CN105068801A (zh) | 2015-11-18 |
Family
ID=54498181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510476918.8A Pending CN105068801A (zh) | 2015-08-06 | 2015-08-06 | 修改json日期格式的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105068801A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824616A (zh) * | 2016-03-07 | 2016-08-03 | 林友哲 | 一种用于设备控制系统程序的开发方法及框架 |
CN107818020A (zh) * | 2016-09-12 | 2018-03-20 | 平安科技(深圳)有限公司 | 参数传递方法和装置 |
CN108874387A (zh) * | 2018-06-27 | 2018-11-23 | 深圳市金蝶天燕中间件股份有限公司 | 一种数据序列化方法及其相关设备 |
CN109614560A (zh) * | 2018-12-04 | 2019-04-12 | 大唐网络有限公司 | 一种基于nodejs的url传参方法 |
CN110134255A (zh) * | 2019-05-20 | 2019-08-16 | 浙江慧脑信息科技有限公司 | 一种多功能时间输入方法 |
CN112887390A (zh) * | 2021-01-20 | 2021-06-01 | 上海易校信息科技有限公司 | 一种网络请求方法 |
CN116055569A (zh) * | 2023-03-31 | 2023-05-02 | 浙江华东工程数字技术有限公司 | 自定义切换时区的方法、系统、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508674A (zh) * | 2011-12-02 | 2012-06-20 | 方正国际软件有限公司 | 基于json进行对象化参数传递的方法及系统 |
US20130262662A1 (en) * | 2012-04-03 | 2013-10-03 | salesforce.com,inc. | Methods and systems for smart adapters in a social media content analytics environment |
-
2015
- 2015-08-06 CN CN201510476918.8A patent/CN105068801A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508674A (zh) * | 2011-12-02 | 2012-06-20 | 方正国际软件有限公司 | 基于json进行对象化参数传递的方法及系统 |
US20130262662A1 (en) * | 2012-04-03 | 2013-10-03 | salesforce.com,inc. | Methods and systems for smart adapters in a social media content analytics environment |
Non-Patent Citations (1)
Title |
---|
WEBABCD: "返璞归真asp.net mvc之asp.net mvc 4.0新特性之Web API", 《WWW.CNBLOGS.COM/WEBABCD/ARCHIVE/2012/10/18/2728824.HTML》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824616A (zh) * | 2016-03-07 | 2016-08-03 | 林友哲 | 一种用于设备控制系统程序的开发方法及框架 |
CN107818020A (zh) * | 2016-09-12 | 2018-03-20 | 平安科技(深圳)有限公司 | 参数传递方法和装置 |
CN108874387A (zh) * | 2018-06-27 | 2018-11-23 | 深圳市金蝶天燕中间件股份有限公司 | 一种数据序列化方法及其相关设备 |
CN109614560A (zh) * | 2018-12-04 | 2019-04-12 | 大唐网络有限公司 | 一种基于nodejs的url传参方法 |
CN110134255A (zh) * | 2019-05-20 | 2019-08-16 | 浙江慧脑信息科技有限公司 | 一种多功能时间输入方法 |
CN112887390A (zh) * | 2021-01-20 | 2021-06-01 | 上海易校信息科技有限公司 | 一种网络请求方法 |
CN116055569A (zh) * | 2023-03-31 | 2023-05-02 | 浙江华东工程数字技术有限公司 | 自定义切换时区的方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105068801A (zh) | 修改json日期格式的方法及系统 | |
CN110083455B (zh) | 图计算处理方法、装置、介质及电子设备 | |
CN103942225A (zh) | 一种混合型应用客户端的资源调用方法、客户端及系统 | |
WO2017143909A1 (zh) | 网页中的数据处理方法、装置及系统 | |
US8701129B2 (en) | Web API server program, web API publication method | |
CN109634751A (zh) | 一种利用electron框架实现应用层和底层通信的方法 | |
US10506400B2 (en) | Data download method and apparatus | |
AU2011369361B2 (en) | Application activation framework | |
CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
WO2020248383A1 (zh) | 基于跨平台的数据处理方法、装置及计算机设备 | |
CN111026634A (zh) | 一种接口自动化测试系统、方法、装置及存储介质 | |
CN103973812A (zh) | 基于http协议中统一资源定位符的服务接口提供方法及系统 | |
KR102066802B1 (ko) | 업무 프로세싱 방법 및 디바이스 | |
AU2016101498B4 (en) | Data Interchange System | |
CN109634752B (zh) | 一种基于页面网关的客户端请求处理方法及系统 | |
CN106357713A (zh) | 实现远程过程调用的方法和客户端装置以及服务器装置 | |
US20150365460A1 (en) | Dynamic workflow-based composite web service system and method | |
CN109725887A (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
US9201938B2 (en) | Parameter driven data format conversion in client/server architectures | |
CN103561113B (zh) | Web Service接口的生成方法及装置 | |
CN113806104A (zh) | 接口访问请求处理方法、api网关、服务器及系统 | |
US20210149709A1 (en) | Method and apparatus for processing transaction | |
CN106302125B (zh) | 一种对请求信息进行响应的方法、装置及系统 | |
CN104317819A (zh) | 基于浏览器页面间跨域通信的方法和系统 | |
CN113535419A (zh) | 一种服务编排方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151118 |
|
RJ01 | Rejection of invention patent application after publication |