对象转换字符串格式的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
开发工具与关键技术: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相关推荐
- 含有function的JSON对象转换字符串与反转
因为项目需要,需要将easyui中的datagrid列动态排序,所以需要将默认的一些配置存入数据库中,如下的格式: [{field: 'FID', title: 'id', hidden: 'true ...
- python 爬虫(七)lxml模块 + lxml数据提取(字符串的xml/html文件--转换--element对象--转换--字符串)调用XPath方法筛选数据 + 案例(扇贝 酷狗 网易云音乐)
爬虫小知识:爬取网站流程 确定网站哪个url是数据的来源. 简要分析一下网站结构,查看数据一般放在哪里. 查看是否有分页,解决分页的问题. 发送请求,查看response.text里面是否有我们想要的 ...
- EL toString()功能,对象转换字符串
by yan 20160801 /** *showIndex 对象取出是Integer类型,经过set之后变String,这样下面的${r.topicItemTextMap[showIndex]才能取 ...
- 微信小程序开发——json对象和字符串转换
JSON对象和字符串的互转 // json对象 let jsonitem = {"key":"网站","name":"百度&quo ...
- JAXB处理java对象与xml格式之间的转换
JAXB(Java Architecture for XML Binding)是J2SE和J2EE平台的一部分,让开发者能够快速完成Java类和XML的互相映射.一些具体的介绍和使用可以到此细看:JA ...
- json数据解析与JAVA对象转换以及在JQUERY中的使用
JSON基础了解 JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小 ...
- js中的json对象和字符串之间的转化
字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = ...
- 【Java学习笔记】 网络编程04 优化字符串拼接:JSON
学习时间 0731 优化拼接字符串 String : 是复合类型 ,相当于char的数组 是final类,也就是不支持继承 public final class String {private fin ...
- 对象转字符串,字符串转对象
对象转字符串 var str = JSON.stringify(Obj); obj 替换成你要转的对象 字符串转对象 var str1 = JSON.parse(str); str 替换成你要转的字符 ...
最新文章
- python入门教程 官方-Pytest官方教程-01-安装及入门
- android开发中,可能会导致内存泄露的问题
- 个人开发者 android内购,【开发者账号】关于内购,协议税务的一些坑
- C++11 标准新特性: 右值引用与转移语义
- 关于更改当前公司(一)--ChangeCompany
- HTML列表内容自动排序,JS实现HTML表格排序功能
- [转载] java构造函数初始化与执行顺序问题
- 如何快速从入门到精通linux
- linux命令行显卡驱动,Linux下NVIDIA显卡驱动安装方法
- abaqus中六面体单元对比四面体
- geek_How-To Geek正在寻找远程全职技术作家
- SetDlgItemText函数(详解)
- 转载一篇人生思考:一名大学毕业生的反思
- C++ Reference: Standard C++ Library reference: C Library: cstdio: stdout
- TWaver自动化设计平台Legolas —— 交互事件响应动作
- Chicken Soup 【阻碍你成长的最大敌人竟然是它-无意识】
- 什么形状的蓝牙耳机戴着舒服?长时间佩戴舒服的蓝牙耳机推荐
- 第九回(一):任侠厨子轻解厄围 夜半蹴鞠为泄忿闷
- 《程序员的修炼之道——从小工到专家》读书笔记
- PSpice受控源设置增益参数