开发工具与关键技术:Eclipse 10、java
作者:梁添荣
撰写时间:2020-04-28

有时我们传到页面的json数据,如果有日期格式,则不会以我们想要的格式去输出,这是我们可以自定义工具,对日期进行转换相应的格式,以下有三种方法,对应三种日期格式!
第一种:
/*说明:
* 把集合里的数据序列化成json格式,并根据参数str的状态把数据的data类型转换成常用的时间格式;
* 该json格式里有与bsgrid表格对应的值,所以页面bsgrid插件能接受,不用bsgrid类来设置。
* @param curPage 当前页
* @param list 集合数据
* @param totalRows 总条数
* @param success 是否加载数据
* @param str 若不为null时,且数据中有data类型,str的元素名与date类型属性名对应,则转string类型,格式为yyyy-MM-dd HH:mm:ss,
* 没有添加到str里的date类型的属性名,则为yyyy-MM-dd格式;
* 当str为null,所有data类型格式为yyyy-MM-dd
* @return
/
public static String toJson(Integer curPage,Integer totalRows,Collection<?> list,boolean success,final String[] str) {
JsonConfig jsonConfig=new JsonConfig();
jsonConfig.registerJsonValueProcessor(Date.class, new JsonValueProcessor() {
@Override
public Object processObjectValue(String key, Object value, JsonConfig config) {
if(str!=null) {
for (String string : str) {
if(key.equalsIgnoreCase(string)) {
return new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).format((Date) value);
}
}
}
return new SimpleDateFormat(“yyyy-MM-dd”).format((Date) value);
}
@Override
public Object processArrayValue(Object arg0, JsonConfig arg1) {
// TODO Auto-generated method stub
return null;
}
});
//ps:ssm查询时list没有数据时,list!=null的,所以不会报错
Map<String, Object> map=new HashMap<String, Object>();
map.put(“curPage”, curPage);
map.put(“success”, success);
if(list!=null) {//避免为null
map.put(“totalRows”, totalRows);
map.put(“data”,list);
}else {
map.put(“totalRows”, 0);
map.put(“data”,0);
}
return JSONObject.fromObject(map, jsonConfig).toString();
}
第二种
/

* 说明:
* 把集合里的数据序列化成json格式,数据的data类型转换成yyyy-MM-dd格式
* 该json格式里有与bsgrid表格对应的值,所以页面bsgrid插件能接受,不用bsgrid类来设置。
* @param curPage 当前页
* @param list 集合数据
* @param totalRows 总条数
* @param success 是否加载数据
* @return
*/
public static String toJsonYmd(Integer curPage, Integer totalRows, List data, boolean success) {
com.alibaba.fastjson.JSONObject.DEFFAULT_DATE_FORMAT=“yyyy-MM-dd”;
Map<String, Object> map=new HashMap<String, Object>();
map.put(“curPage”, curPage);
map.put(“success”, success);
if(data!=null) {//避免为null
map.put(“totalRows”, totalRows);
map.put(“data”,data);
}else {
map.put(“totalRows”, 0);
map.put(“data”,0);
}
return JSON.toJSONString(map,SerializerFeature.WriteDateUseDateFormat,SerializerFeature.WriteMapNullValue);
}

第三种
/**
* 说明:
* 把集合里的数据序列化成json格式,数据的data类型转换成yyyy-MM-dd HH:mm:ss格式
* 该json格式里有与bsgrid表格对应的值,所以页面bsgrid插件能接受,不用bsgrid类来设置。
* @param curPage 当前页
* @param list 集合数据
* @param totalRows 总条数
* @param success 是否加载数据
* @return
*/
public static String toJsonHms(Integer curPage, Integer totalRows, List data, boolean success) {
Map<String, Object> map=new HashMap<String, Object>();
map.put(“curPage”, curPage);
map.put(“success”, success);
if(data!=null) {//避免为null
map.put(“totalRows”, totalRows);
map.put(“data”,data);
}else {
map.put(“totalRows”, 0);
map.put(“data”,0);
}
return JSON.toJSONString(map,SerializerFeature.WriteDateUseDateFormat,SerializerFeature.WriteMapNullValue);
}
对象转换字符串格式的JSON

开发工具与关键技术:Eclipse 10、java
作者:梁添荣
撰写时间:2020-04-28

有时我们传到页面的json数据,如果有日期格式,则不会以我们想要的格式去输出,这是我们可以自定义工具,对日期进行转换相应的格式,以下有三种方法,对应三种日期格式!
第一种:
/*说明:
* 把集合里的数据序列化成json格式,并根据参数str的状态把数据的data类型转换成常用的时间格式;
* 该json格式里有与bsgrid表格对应的值,所以页面bsgrid插件能接受,不用bsgrid类来设置。
* @param curPage 当前页
* @param list 集合数据
* @param totalRows 总条数
* @param success 是否加载数据
* @param str 若不为null时,且数据中有data类型,str的元素名与date类型属性名对应,则转string类型,格式为yyyy-MM-dd HH:mm:ss,
* 没有添加到str里的date类型的属性名,则为yyyy-MM-dd格式;
* 当str为null,所有data类型格式为yyyy-MM-dd
* @return
/
public static String toJson(Integer curPage,Integer totalRows,Collection<?> list,boolean success,final String[] str) {
JsonConfig jsonConfig=new JsonConfig();
jsonConfig.registerJsonValueProcessor(Date.class, new JsonValueProcessor() {
@Override
public Object processObjectValue(String key, Object value, JsonConfig config) {
if(str!=null) {
for (String string : str) {
if(key.equalsIgnoreCase(string)) {
return new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).format((Date) value);
}
}
}
return new SimpleDateFormat(“yyyy-MM-dd”).format((Date) value);
}
@Override
public Object processArrayValue(Object arg0, JsonConfig arg1) {
// TODO Auto-generated method stub
return null;
}
});
//ps:ssm查询时list没有数据时,list!=null的,所以不会报错
Map<String, Object> map=new HashMap<String, Object>();
map.put(“curPage”, curPage);
map.put(“success”, success);
if(list!=null) {//避免为null
map.put(“totalRows”, totalRows);
map.put(“data”,list);
}else {
map.put(“totalRows”, 0);
map.put(“data”,0);
}
return JSONObject.fromObject(map, jsonConfig).toString();
}
第二种
/

* 说明:
* 把集合里的数据序列化成json格式,数据的data类型转换成yyyy-MM-dd格式
* 该json格式里有与bsgrid表格对应的值,所以页面bsgrid插件能接受,不用bsgrid类来设置。
* @param curPage 当前页
* @param list 集合数据
* @param totalRows 总条数
* @param success 是否加载数据
* @return
*/
public static String toJsonYmd(Integer curPage, Integer totalRows, List data, boolean success) {
com.alibaba.fastjson.JSONObject.DEFFAULT_DATE_FORMAT=“yyyy-MM-dd”;
Map<String, Object> map=new HashMap<String, Object>();
map.put(“curPage”, curPage);
map.put(“success”, success);
if(data!=null) {//避免为null
map.put(“totalRows”, totalRows);
map.put(“data”,data);
}else {
map.put(“totalRows”, 0);
map.put(“data”,0);
}
return JSON.toJSONString(map,SerializerFeature.WriteDateUseDateFormat,SerializerFeature.WriteMapNullValue);
}

第三种
/**
* 说明:
* 把集合里的数据序列化成json格式,数据的data类型转换成yyyy-MM-dd HH:mm:ss格式
* 该json格式里有与bsgrid表格对应的值,所以页面bsgrid插件能接受,不用bsgrid类来设置。
* @param curPage 当前页
* @param list 集合数据
* @param totalRows 总条数
* @param success 是否加载数据
* @return
*/
public static String toJsonHms(Integer curPage, Integer totalRows, List data, boolean success) {
Map<String, Object> map=new HashMap<String, Object>();
map.put(“curPage”, curPage);
map.put(“success”, success);
if(data!=null) {//避免为null
map.put(“totalRows”, totalRows);
map.put(“data”,data);
}else {
map.put(“totalRows”, 0);
map.put(“data”,0);
}
return JSON.toJSONString(map,SerializerFeature.WriteDateUseDateFormat,SerializerFeature.WriteMapNullValue);
}

对象转换字符串格式的JSON相关推荐

  1. 含有function的JSON对象转换字符串与反转

    因为项目需要,需要将easyui中的datagrid列动态排序,所以需要将默认的一些配置存入数据库中,如下的格式: [{field: 'FID', title: 'id', hidden: 'true ...

  2. python 爬虫(七)lxml模块 + lxml数据提取(字符串的xml/html文件--转换--element对象--转换--字符串)调用XPath方法筛选数据 + 案例(扇贝 酷狗 网易云音乐)

    爬虫小知识:爬取网站流程 确定网站哪个url是数据的来源. 简要分析一下网站结构,查看数据一般放在哪里. 查看是否有分页,解决分页的问题. 发送请求,查看response.text里面是否有我们想要的 ...

  3. EL toString()功能,对象转换字符串

    by yan 20160801 /** *showIndex 对象取出是Integer类型,经过set之后变String,这样下面的${r.topicItemTextMap[showIndex]才能取 ...

  4. 微信小程序开发——json对象和字符串转换

    JSON对象和字符串的互转 // json对象 let jsonitem = {"key":"网站","name":"百度&quo ...

  5. JAXB处理java对象与xml格式之间的转换

    JAXB(Java Architecture for XML Binding)是J2SE和J2EE平台的一部分,让开发者能够快速完成Java类和XML的互相映射.一些具体的介绍和使用可以到此细看:JA ...

  6. json数据解析与JAVA对象转换以及在JQUERY中的使用

    JSON基础了解 JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小 ...

  7. js中的json对象和字符串之间的转化

    字符串转对象(strJSON代表json字符串)    var obj = eval(strJSON);    var obj = strJSON.parseJSON();    var obj = ...

  8. 【Java学习笔记】 网络编程04 优化字符串拼接:JSON

    学习时间 0731 优化拼接字符串 String : 是复合类型 ,相当于char的数组 是final类,也就是不支持继承 public final class String {private fin ...

  9. 对象转字符串,字符串转对象

    对象转字符串 var str = JSON.stringify(Obj); obj 替换成你要转的对象 字符串转对象 var str1 = JSON.parse(str); str 替换成你要转的字符 ...

最新文章

  1. python入门教程 官方-Pytest官方教程-01-安装及入门
  2. android开发中,可能会导致内存泄露的问题
  3. 个人开发者 android内购,【开发者账号】关于内购,协议税务的一些坑
  4. C++11 标准新特性: 右值引用与转移语义
  5. 关于更改当前公司(一)--ChangeCompany
  6. HTML列表内容自动排序,JS实现HTML表格排序功能
  7. [转载] java构造函数初始化与执行顺序问题
  8. 如何快速从入门到精通linux
  9. linux命令行显卡驱动,Linux下NVIDIA显卡驱动安装方法
  10. abaqus中六面体单元对比四面体
  11. geek_How-To Geek正在寻找远程全职技术作家
  12. SetDlgItemText函数(详解)
  13. 转载一篇人生思考:一名大学毕业生的反思
  14. C++ Reference: Standard C++ Library reference: C Library: cstdio: stdout
  15. TWaver自动化设计平台Legolas —— 交互事件响应动作
  16. Chicken Soup 【阻碍你成长的最大敌人竟然是它-无意识】
  17. 什么形状的蓝牙耳机戴着舒服?长时间佩戴舒服的蓝牙耳机推荐
  18. 第九回(一):任侠厨子轻解厄围 夜半蹴鞠为泄忿闷
  19. 《程序员的修炼之道——从小工到专家》读书笔记
  20. PSpice受控源设置增益参数

热门文章

  1. Jmeter模拟上传图片
  2. 物理学十大实验(6-10)
  3. java线程池的正确使用方式,completableFuture
  4. 终于有人把 ZFS 文件系统讲明白了
  5. uefi启动解析:由原理到实例
  6. UVA 1626 括号序列
  7. PHP与JS---取整数方法int,celi,floor,round
  8. 应用跳转(打电话/短信/邮件/浏览器/其他应用)
  9. HarmonyOS实战—可编辑的卡片交互
  10. 智慧校园总体规划方案