JSONObject 将对象转化为 JSON 字符串后时间不是 yyyy-MM-dd HH:mm:ss 格式

使用的 jar 包为 net.sf.json.JSONObject
使用的数据库为 MY SQL
使用 Hibernate 进行查询

需求如下

从数据库中查询出一个时间列表,返回给前端。

问题

从数据库中查询出结果后使用 JSONObject 转化为字符串后发现默认将时间解析为了对象(如下图)而不是所需要的 yyyy-MM-dd HH:mm:ss 格式。

JSONObject 将对象转化为 JSON 字符串后时间不是 yyyy-MM-dd HH:mm:ss 格式_第1张图片

原因(猜测)

使用 hibernate 从数据库查询的到的结果集里存放的不是字符串类型的时间,导致在使用 JSONObject 转化为字符串是就将时间解析成对象了。

解决方法

在网上查找解决办法为自定义一个 JSONObjec 的日期解析器。
由于本次查询仅临时使用,所以找到一个简单的办法。
修改 SQL 语句,使查询出来的日期数据的类型为字符串即可,使用 CONCAT(datetime,‘’) 方法拼接一个空字符串。修改后前端获取的结果如下图。

JSONObject 将对象转化为 JSON 字符串后时间不是 yyyy-MM-dd HH:mm:ss 格式_第2张图片

你可能感兴趣的:(错题本,json)