博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android new date参数,Android向Rest服务Post数据遇到的Date类型数据问题
阅读量:4359 次
发布时间:2019-06-07

本文共 4327 字,大约阅读时间需要 14 分钟。

今天在Android端向Rest服务Post数据时,总是不成功,查了很多资料,才知道Rest端将json串反序列化时,需要的时间格式必须是UTC类型,及Date(12345678+0800)格式。

Android端序列化方法

//利用Gson实现对象序列化为Json

public static String toJson(Object object) {

GsonBuilder builder = new GsonBuilder();

// 不转换没有 @Expose 注解的字段

builder.excludeFieldsWithoutExposeAnnotation();

//对Date类型进行注册事件

builder.registerTypeAdapter(Date.class, new UtilDateSerializer());

Gson gson = builder.create();

return gson.toJson(object);

}

class UtilDateSerializer implements JsonSerializer {

@Override

public JsonElement serialize(Date src, Type typeOfSrc,

JsonSerializationContext context) {

//拼凑UTC时间类型

return new JsonPrimitive("/Date(" + src.getTime()+ "+0800)/");

}

}

Android端Post方法

/**

* 通过POST方式发送请求

*

* @param url

* URL地址

* @param params

* 参数

* @return

* @throws Exception

*/

public String httpPost(String url, String json) throws Exception {

String response = null;

int timeoutConnection = 3000;

int timeoutSocket = 5000;

HttpParams httpParameters = new BasicHttpParams();

HttpConnectionParams.setConnectionTimeout(httpParameters,timeoutConnection);

HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);

HttpClient httpClient = new DefaultHttpClient(httpParameters);

HttpPost httpPost = new HttpPost(url);

// 添加http头信息

httpPost.addHeader("Content-Type", "application/json");

httpPost.addHeader("User-Agent", "imgfornote");

httpPost.setEntity(new StringEntity(json,"UTF-8"));

HttpResponse httpResponse = httpClient.execute(httpPost);

int statusCode = httpResponse.getStatusLine().getStatusCode();

if (statusCode == HttpStatus.SC_OK) {

response = EntityUtils.toString(httpResponse.getEntity());

} else {

response = String.valueOf(statusCode);

}

return response;

}

C#Rest服务端

[OperationContract]

[WebInvoke(UriTemplate = "/yyxTest", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]

string MensarTest(XCJCQK model);

自己的一点小结,希望对遇到相同问题的人有帮助。

【Spring】SpringMVC中浅析Date类型数据的传递

在控制器中加入如下代码: @InitBinder public void initBinder(ServletRequestDataBinder bin){ SimpleDateFormat sdf ...

ES数据-MySql处理Date类型的数据导入处理

用ES的小伙伴们,相信大家都遇到过Mapping处理Date类型的数据头疼问题吧. 不用头疼了,我来给你提供一种解决方案: 1.Maping定义为: {  "mappings": ...

SpringMVC 处理Date类型数据@InitBinder @DateTimeFormat 注解 的使用

使用SpringMVC的时候,需要将表单中的日期字符串转换成对应JavaBean的Date类型,而SpringMVC默认不支持这个格式的转换,解决方法有两种,如下: 方法一 . 在需要日期转换的Con ...

DATE类型数据在MySql中减一天的问题

最近在开发一个教务管理系统,数据库中有教师表(Teacher).学生表(Student)等,其中属性:出生日期(Birthday)为DATE类型. 在执行更新教师操作时,发现未改动教师的出生日期但更新 ...

springMVC返回json数据时date类型数据被转成long类型

在项目的过程中肯定会遇到ajax请求,但是再用的过程中会发现,在数据库中好好的时间类型数据:2017-05-04 17:52:24 在转json的时候,得到的就不是时间格式了 而是145245121这 ...

在oracle中存入date类型数据遇到的问题及其解决方法(利用java.sql.date和Timestamp)

转自:https://blog.csdn.net/ShadowerWArden/article/details/80652377 1. 使用JDBC操作Oracle数据库时,使用java.sql.Da ...

debezium监听数据库变化Date类型数据的还原

debezium是一个开源的分布式CDC系统,支持对接各种数据源,将数据源中已持久化的数据变更捕获后写入消息队列. 当数据源是mysql时,debezium通过BINLOG实时捕获已提交事务数据. 在 ...

Oracle关于date类型数据的总结

往Oracle数据库中插入日期型数据(to_date的用法) INSERT  INTO  FLOOR  VALUES  ( to_date ( '2007-12-20 18:31:34' , 'YYY ...

随机推荐

Caché数据库学习笔记(3)

目录 Query函数及其测试 重建索引表 Management portal简介 远程访问Ensemble ============================================== ...

Debian添加raw裸设备

一.检查系统是否已经启用了raw模块 root@frog:~# lsmod|grep raw 如果系统没有启用raw模块! 二. 设置系统自动启用raw root@frog:~# echo raw & ...

第2章 面向对象的设计原则(SOLID):6_开闭原则

6. 开闭原则(Open Closed Principle,OCP) 6.1 定义 (1)一个类应该对扩展开放,对修改关闭.要求通过扩展来实现变化,而且是在不修改己有的代码情况下进行扩展,也不必改动己 ...

SRM 405(1-250pt, 1-500pt)

DIV1 250pt 题意:以linux系统中文件系统的路径表示方法为背景,告诉你某文件的绝对路径和当前位置,求相对路径.具体看样例. 解法:模拟题,不多说.每次碰到STL的题自己的代码都会显得很sb ...

SVN 无法连接主机:由于目标计算机积极拒绝,无法连接

问题:使用追溯功能时因为时间太长,所以强行关闭了SVN;当再次连接的时候就发现不能连接到SVN了,错误消息: 无法连接主机:由于目标计算机积极拒绝,无法连接 解决:重启一下服务器的SVN 服务就可以了

2017-2-22 if语句 if语句的嵌套 以及课堂练习 经典猜拳游戏,闰年判断,输出当前时间的天数等

(一)if语句 1.格式   if(){ }else if() { } 注意:如果if后面不写花括号,只执行下面第一句 (二)语句1:顺序语句 2:循环语句 3:分支语句 课后练习: 1.猜拳游戏(用 ...

Python3 的序列

序列 1.根据列表.元组.字符串的共同点把它们统称为序列(他们都是兄弟呀) 1)都可以通过索引来的到每一个元素 2)默认索引值都是从零开始(Python也支持负数索引) 3)都可以通过分片(切片)的方 ...

fiddle扩展

扩展地址:http://www.telerik.com/fiddler/add-ons 证书选择 ios设置证书生成 (CertMaker for iOS and Android) 证书查看 (Fid ...

Python 入门基础19 --面向对象、封装

2019.04.17 一.面向对象与面向过程 二.名称空间操作 三.类与对象的概念 四.语法 五.对象查找属性的顺序 2019.04.18 1.类与对象的所有概念:__init__方法 2.类的方法与 ...

合并流 SequenceInputStream

SequenceInputStream主要用来将2个流合并在一起,比如将两个txt中的内容合并为另外一个txt.下面给出一个实例: import java.io.File; import java.i ...

你可能感兴趣的文章
从垃圾回收看闭包
查看>>
Intel Core Microarchitecture Pipeline
查看>>
如何去除交叉表的子行(列)的小计?
查看>>
Web字体(链接)嵌入
查看>>
switch… case 语句的用法
查看>>
day07补充-数据类型总结及拷贝
查看>>
语言、数据和运算符
查看>>
正则表达式30分钟入门教程
查看>>
sqlserver try catch·
查看>>
怎么在三维世界里叙述五维故事
查看>>
css技巧
查看>>
代码优化(一)
查看>>
为什么JSP会比Beetl慢
查看>>
移动端rem的用法
查看>>
php-laravel中间件使用
查看>>
myslq 表与表之前的数据转移
查看>>
python学习日志
查看>>
微信自媒体账号涉违规大规模被封
查看>>
35.数组中的逆序对
查看>>
HDU 1811 Rank of Tetris
查看>>