SpringMVC(28):json数据的时间日期格式问题-解决与示例

【Labview】对连续采集数据的一种采样方法 图1如图1,想要对这样一个连续信号进行数据点的采集,我根据网上收集到的方法,在此分享一下最终的结果。可以拓展结合文件的写入,完成对连续信号的采集和输出。 已知: 一个连续信号,如图1. 目标: 设定一定采集点个数、采集点时间间隔、和采集周期次数,得到这条连续信号的数据点,如图2. 图2 方法如下: 主要利用的是队列的方法。 在连续信号生成的时候,不断的写入队列,并且清除队列。 ... 阅读详情

2018年2月14日

【0】前言

     @ResponseBody把数据向前台页面以JSON格式进行数据传递的时候,日期格式默认为时间戳,需要转换为可读性的“yyyy-MM-dd”。

解决方案有两种:(1)@JSONField注解;(2)配置FastJson的消息转换器--FastJasonHttpMessageConverter;


【1】实体类User.java添加注解

注解方式:@JSONField(format="yyyy-MM-dd")

1.1 user对象的日期属性加上(@JSONField(format="yyyy-MM-dd"))进行格式化处理:

public class User {
	private Integer id;
	@NotNull
	private String userCode;
	@NotNull
	private String userName;
	@Length(min=6,max=10,message="userPassword长度为6-10")
	@NotNull
	private String userPassword;
	private Integer gender;
	private String birthdayString;
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@JSONField(format="yyyy-MM-dd")
	private Date birthday;
	private String phone;
	private String address ;
	private Integer userRole;
	private Integer createdBy;
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date creationDate;
	private String creationDateString;
	private Integer modifyBy;
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date modifyDate;
	private String modifyDateString;
	//idPicPath 文件上传路径
	private String idPicPath;
	private String workPicPath;
	private String roleName;
       **省略set/get/构造器**
}	


1.2 优点:简单直接;缺点:硬编码、强侵入、紧耦合,并且修改麻烦,实际开发不推荐(推荐--配置FastJson的消息转换器)。


1.3 测试结果:



【2】MVC配置文件--配置FastJson的消息转换器

      在springmvc中,需要进行JSON转换时,我们通常会使用FastJson提供的FastJasonHttpMessageConverter。区别上一篇博文《SpringMVC(28):json数据的中文乱码-解决与示例》采用StringHttpMessageConverter解决了中文问题。

     使用FastJasonHttpMessageConverter的WriteDateUseDateFormat 配置使用默认日期类型(默认“yyyy-MM-dd HH-mm-ss”)。

     很容易理解:即在springmvc-servlet.xml文件添加某个bean和property!


2.1 修改springmvc-servlet.xml:

    <mvc:annotation-driven>
    	<mvc:message-converters>
    		<bean class="org.springframework.http.converter.StringHttpMessageConverter"> 
    			<property name="supportedMediaTypes">
	    			<list>
	    				<value>application/json;charset=UTF-8</value>
	    			</list>
    			</property>
    		</bean>
    		<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
    			<property name="supportedMediaTypes">
    				<list>
    					<value>text/html;charset=UTF-8</value>
	    				<value>application/json</value>
	    			</list>
    			</property>
    			<property name="features">
    				<list>
    					<!-- 输出Date的日期转换器-->
    					<value>WriteDateUserDateFormat</value>
   					</list>
    			</property>
    		</bean>
    	</mvc:message-converters>
    </mvc:annotation-driven>  

解释:

(1)上述配置中,提供设置FastJsonHttpMessageConverter 的features属性,指定输出时的日期转换器 WriteDateUserDateFormat,就可以按照FastJ1son默认的日期格式进行转换输出。

(2)FastJson 是JSON处理工具包,包括序列化和反序列化两部分。它提供了强大的日期处理和识别能力,在序列化时指定格式,支持多种方式实现;反序列化也可以识别多种格式的日期。可以查看源码:FastJsonHttpMessageConverter、JSON、SerializerFeature等等。


2.2 Controller层

作以下修改,无须要将user对象转换成JSON字符串,直接把获取的user对象返回即可:

	@RequestMapping(value="/view.html",method=RequestMethod.GET)
	@ResponseBody
	public Object userView(@RequestParam String id){
		System.out.println("UserController-userView");
		System.out.println("**Ajax提交的数据:view id: "+id);
		User user = new User();
		if(id == null || "".equals(id)){
			return "nodata";
		}else{
			try{
				user = userService.getUserById(id);
				System.out.println("found user: "+user);
			}catch(Exception e){
				e.printStackTrace();
				return "error";
			}
			return user;
		}
	} 

2.3 修改结果:






【2024年5月备考新增】《2024高项论文精华版(5)项目工作绩效域和度量绩效域》 3、专注于工作过程和能力。③专注于工作过程和能力。1、制定有效的度量指标。2、度量内容及相应指标。3、展示度量信息和结果。4、管理沟通和参与。7、监督新工作和变更。①制定有效的度量指标。②度量内容及相应指标。③展示度量信息和结果。5、基于度量进行诊断。 阅读详情

相关推荐

用面包板实测MOSFET:手把手教你测量跨导和开关时间

本文详细介绍了如何使用面包板、Arduino和示波器搭建测试平台,实测MOSFET的跨导和开关时间。通过分步测量流程和示波器技巧,帮助电子设计初学者深入理解MOSFET的动态特性,包括跨导计算、开关时间参数解析以及米勒平台现象分析。

beer8的博客 221

如何在JSON中表示时间戳或日期时间?底层原理是什么?

当需要将时间戳或日期时间值从 JSON 解析为本地的时间类型时,应用程序可以使用本地编程语言提供的日期时间库来解析 ISO 8601 格式的字符串。这些日期时间库通常提供了从字符串到本地时间类型的转换方法,例如 Java 中的 SimpleDateFormat 类或 Python 中的 datetime 模块。在将时间戳或日期时间值序列化为 JSON 字符串时,应用程序可以将本地时间类型转换为 ISO 8601 格式的字符串,然后将其作为 JSON 字符串的属性值。

长风破浪会有时的博客 4004

Maya ACES工作流程配置(Arnold 及 RedShift 贴图配置规范-还原出SP-Aces流程下贴图正确的效果) PS还原Aces流程下渲染的图

*如果使用SP,项目工程如果新建的时候设置的就是Aces的流程的话,按规范正常导出即可,贴图会带上相对应的后缀,然后贴图导入材质球的时候会根据后缀自动设置相对应的色彩空间;**万一不是,就自己手动设置一下对应的色彩空间即可;然后点击选择当前的或者选择全部导入的贴图,点击右下角后,开始转换;我复制了一下,一个默认没有LUT的效果,然后另外一个是加载2个LUT后的还原效果,和渲染的效果应该是没有区别的,至少我没有看出明显的区别;把需要转换的贴图拖拽到左侧,然后右面选择需要转换到的相对应的色彩空间;...

Yuulily 7993

JSON文件信息提取及时间戳转换

JSON文件信息提取及时间戳转换

摸鱼中...... 2054

低速信号设计之 ESPI 篇

ESPI 是 Intel 推出的增强型串行外设接口,基于 SPI 发展而来,新增 Reset# 和 Alert# 信号,采用点对点主从通信模型,最高速率达 33MHz,支持半双工与 DMA 传输。 其物理接口含 10 条线路,通信协议分物理层、数据链路层等四层。布局布线需关注信号完整性、电源完整性,还得考虑与 SPI 的兼容性。 ESPI 广泛应用于计算机系统(连接 BIOS、电源管理器等)和工业控制领域,具有引脚少、功耗低等优势,但设计复杂且存在兼容性挑战。

qq_16237389的博客 1380

基因家族扩张收缩分析可视化(CAFE5)

CafePlotter 是一个用于可视化 CAFE5 基因家族扩张收缩分析结果的 Python 工具

xuzhougeng blog 3636

springmvc的json 乱码处理和时间戳工具类

springmvc的json 乱码处理 @ResponseBody 不会执行跳转到视图 @RequestMapping(value = “/j1” ,produces = “application/json;charset=utf-8”) 这个是防止乱码的 @RestController //@Controller public class UserController { @RequestMapping(value = "/j1" ,produces = "application/jso.

u013313232的博客 160

保姆级教程:手把手教你用记事本修改DNF私服PVF,打造毕业级自定义装备

本文提供了一份详细的DNF私服PVF文件修改教程,教你如何使用记事本轻松打造毕业级自定义装备。从PVF文件结构解析到基础属性修改,再到高级特效设置,手把手教你实现装备属性的全方位定制,无需编程基础即可完成。

weixin_42525385的博客 1192

springmvc fastjson 反序列化时间格式化

第一种情况是从后台拿到数据,进行反序列化,反序列化格式时间:试了一下很多网上的方法,最后发现还是在实体类上面的日期字段加上如下注解,可以完成格式化操作,否则默认就都是时间戳的格式: @JSONField (format="yyyy-MM-dd HH:mm:ss") public Date birthday; @JSONField (format="yyyy-M...

weixin_30821731的博客 189

FreeRTOS系统从入门到精通万字保姆级教程

例如,在基于ARM的硬件平台上,可能需要实现针对ARM处理器的上下文切换代码,并确保FreeRTOS能够正确地响应和处理ARM架构的中断。需要注意的是,在删除任务之前应确保任务已经完成了其所有重要的工作,并且没有其他的任务依赖于它,以避免数据丢失或系统不稳定。任务的优先级设定是其中的关键环节。在复杂的系统中,可能会有大量的任务需要同时运行,而这些任务的重要性和紧急程度各不相同。这通常包括创建初始任务(这些任务将负责系统的初始化和后续任务的调度)、设置系统时钟(以确保任务的准时调度和延时功能的正确性)等。

大模型大数据攻城狮的专栏 2069

向华为学习——解读华为战略规划SP与业务计划BP流程【附全文阅读】

该方案针对大中型企业高管及战略团队,系统拆解华为SP(4-9月中长期规划)与BP(10-12月年度执行)双轨体系,形成"战略制定-业务设计-资源配置-绩效解码"闭环。SP侧重市场趋势分析、业务优先级与资源分配,BP细化KPI、预算及行动计划。通过价值树、战略解码等工具实现战略到部门/个人的目标分解,强化跨部门协同与过程管控。配套17份华为实战资料(包括战略管理、流程优化、销售组织建设等核心方法论),助力企业建立规范的战略执行体系,实现资源优化与绩效落地。

cdfunlove的博客 768

fastjson对象转为json字符串日期格式变为时间戳问题

今天尝试将map集合转为json对象时遇到一个问题。map中的value为日期格式如"2019-03-01",在使用 JSONObject.toJSON(map).toString() 转换后的value变成了时间戳,显示出来很不友好。后来翻阅fastjson的API发现有个方法可以将对象中的时间格式不转化为时间戳的方法 JSON.toJSONStringWithDateFormat(O...

qq_39481762的博客 2万+

信息传输仿真:卫星通信系统仿真_(12).基于SystemVue的卫星通信仿真

SystemVue是Cadence公司开发的一款用于系统级设计和仿真的软件工具。它主要用于无线通信系统的设计和验证,特别是在卫星通信、雷达、射频和微波通信等领域。SystemVue提供了一个集成的环境,用户可以通过拖拽和连接各种预定义的模块来构建复杂的通信系统模型,从而进行性能分析和优化。

2401_87715305的博客 1370

springmvc解决json乱码问题

<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <!-- 解决Controller返回json中文乱码问题 --> <bean class="org.springframework.http....

qq_41727840的博客 478

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

JSON的使用进行数据交互

JSON:(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,其采用完全独立于编程语言的文本格式来存储和表示数据,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 JSONJSON的语法:JSON和JS的区别JSON和JS的相互转换从后台实现JSON数据 JSON的语法: 对象表示为键值对 {"id":"1"} {"name...

mulinghanxue的博客 1144

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SpringMVC—》Json交互处理

这里我再说一点,之前的controller返回的是一个视图,现在我们要返回一个JSON,也就是说不需要走视图控制器了。JSON 是 JavaScript 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。但是后面用的时候idea会爆红,但是不影响结果,可能是idea的版本问题,我的是2020.1版本。可以看到好像变复杂了,不过我们可以封装一下,参考写开源代码的格式,写一个工具类方法。既然设计对象的前后端传递,我们先建立一个实体类。可以看到上面的是JSON,下面的是JS对象。

weixin_53535434的博客 176

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Springmvc-JSON

JSON 键值对是用来保存 JavaScript 对象的一种方式,和 JavaScript 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值。或者使用@RestController注解,在类名上面加上,那么这个类的所有方法都不会走视图解析器,都会返回一个字符串。User user = new User("caicai",3,"男");//创建一个jackson的对象映射器,用来解析数据。{"name":"菜菜","age":3,"sex":"男"}

m0_73757009的博客 93

SpringMVC学习总结(4)--- JSON

1. JSON JSON(JavaScript Object Notation, JS 对象标记))是一种轻量级的数据交换格式,目前使用特别广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 1.1 JSON 语法 JSON 语法规则: 在 JS 语言中,一切...

qq_44823091的博客 183

04SpringMVC--JSON使用

JSON的要求和语法格式: JSON和JS对象相互转换 @ResponseBody @RequestMaping的produces属性 JSON 返回字符串 JSON处理时间Date

gh_xiaohe的博客 1103

SpringMvc json 时间戳格式化工具类及使用

SpringMvc json 时间戳格式化工具类及使用工具类使用 工具类 import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import java.text.SimpleDateFormat; public cl

weixin_45160006的博客 345

解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题

LocalDate 、 LocalTime 、 LocalDateTime 是Java 8开始提供的时间日期API,主要用来优化Java 8以前对于时间日期的处理操作。然而,我们在使用Spring Boot或使用Spring Cloud Feign的时候,往往会发现使用请求参数或返回结果中有 LocalDate 、 LocalTime 、 LocalDateTime 的时候会发生各种问题。本文我们...

6054

android 解析json 日期格式,处理Json数据中的日期类型.如/Date(1415169703000)/格式

在asp.net mvc后台返回到视图中的json数据中想对数据进行操作,发现日期类型无法直接进行操作,需要转换为指定格式才行.在网上也搜了下方法也很多,觉得有点麻烦,最终使用正则搞定了,分享下:var jsondate="/Date(1415169703000)/";var formatdate=eval(jsondate.replace(/\/Date\((\d+)\)\//gi, "new ...

weixin_42496225的博客 482

Spring Boot 返回Json数据

返回Json数据

探索er的博客 9314

SpringMVC的学习____6.JSON 和Ajax

1.JSON: 1.1基本概念: JSON(JavaScript Object Nation:JS对象标记)是一种数据交换格式,JS中的数据类型都可以采用JSON表示。 JS中的数据类型: 对象采用 属性名:属性值 形式的键值对; 数据之间采用逗号隔开; 数组采用方括号表示; 对象采用花括号表示;JSON表示JS对象本质上就是将对象用文本的形式表示,本质就是字符串; 代码...

118

Java小白学习指南【day37】---SpringMVC进阶&JSON

1、Hello JSON 在实际开发中,通常需要和别的系统交换数据,数据交换的格式通常有XML和JSON等; JSON(JavaScript Object Notation:JavaScript对象表示法)是一种基于JavaScript 语法开放的轻量级数据交换格式,使用js语法来描述数据对象; JSON作为一个轻量级的数据格式,相对于XML,文档更小,结构清晰简洁,读写效率更高 2、SpringMVC如何返回JSON格式数据 动态web项目---->搭建SpringMVC环境(Spring-mv

WLK0423的博客 250

java json date 注解_@JsonFormat与@DateTimeFormat注解的使用

@JsonFormat与@DateTimeFormat注解的使用背景:从数据库获取时间传到前端进行展示的时候,我们有时候可能无法得到一个满意的时间格式的时间日期,在数据库中显示的是正确的时间格式,获取出来却变成了很丑的时间戳,@JsonFormat注解很好的解决了这个问题,我们通过使用@JsonFormat可以很好的解决:后台到前台时间格式保持一致的问题其次,另一个问题是,我们在使用WEB服务的时...

weixin_39601794的博客 679
上一篇: SpringMVC(27):json数据的传递处理的示例(实现功能:使用jQuery框架的ajax()方法实现用户信息查看)
下一篇: FAQ(69):java.lang.IllegalStateException: Cannot convert value of type ‘java.lang.String‘ to required
后台技术汇
博客等级 码龄11年 670粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后台技术汇

对你的帮助,是对我的最好鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值