java dto 转换_json dto javabean转换工具类
[java]代码库package com.slb.webservice.servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.JsonToken;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
/**
* json dto转换工具类
* @author LIHAO
* 2014/05/07
*/
public class JSONUtils {
static class LazyLoad {
static JSONUtils instance = new JSONUtils();
}
public static JSONUtils getInstance() {
return LazyLoad.instance;
}
private static ObjectMapper objectMapper = new ObjectMapper();
private static Logger _logger = Logger.getLogger(JSONUtils.class);
/**
* dto 转 json
* @param obj dto 需转化对象
* @return json 字符串
* @throws IOException
* @throws JsonMappingException
* @throws JsonGenerationException
* @throws Exception
*/
public String dtoToJson(Object obj) throws JsonGenerationException, JsonMappingException, IOException {
_logger.debug("objToJson convert start...");
String json = objectMapper.writeValueAsString(obj);
_logger.debug("objToJson convert end");
return json;
}
/**
* json 转 dto
* @param cl 类
* @param json json字符串
* @return Object
* @throws IOException
* @throws JsonMappingException
* @throws JsonParseException
*/
public Object jsonToDto(Class<?> cl, String json) throws JsonParseException, JsonMappingException, IOException {
_logger.debug("jsonToDto convert start...");
Object obj = objectMapper.readValue(json, cl);
_logger.debug("jsonToDto convert end");
return obj;
}
/**
* json 转 list dto
* @param cl 类
* @param json json字符串
* @return Object的List
* @throws IOException
* @throws JsonParseException
*/
public List<Object> jsonToListDto(Class<?> cl, String json) throws JsonParseException, IOException {
if (StringUtils.isNotBlank(json)) {
List<Object> list = new ArrayList<Object>();
_logger.debug("jsonToListDto convert start...");
JsonFactory f = new JsonFactory();
JsonParser jp = f.createJsonParser(json);
jp.nextToken();
while (jp.nextToken() == JsonToken.START_OBJECT) {
Object obj = objectMapper.readValue(jp, cl);
list.add(obj);
}
_logger.debug("jsonToListDto convert end");
return list;
}
return null;
}
/**
* list json 转 dto
* @param cl 类
* @param json list json字符串, 即[]格式
* @return Object
* @throws JsonParseException
* @throws IOException
*/
public Object listJsonToDto(Class<?> cl, String json) throws JsonParseException, IOException {
if (StringUtils.isNotBlank(json)) {
_logger.debug("listJsonToDto convert start...");
JsonFactory f = new JsonFactory();
JsonParser jp = f.createJsonParser(json);
jp.nextToken();
Object obj = null;
while (jp.nextToken() == JsonToken.START_OBJECT) {
obj = objectMapper.readValue(jp, cl);
break;
}
_logger.debug("listJsonToDto convert end");
return obj;
}
return null;
}
/**
* map 转 json
* @param map map格式数据
* @return json字符串
* @throws IOException
* @throws JsonMappingException
* @throws JsonGenerationException
*/
public String mapToJson(Map<String, List<?>> map) throws JsonGenerationException, JsonMappingException, IOException {
Map<String, List<?>> pageMap = new HashMap<String, List<?>>();
_logger.debug("mapToJson convert start...");
if (map != null && !map.isEmpty()) {
for (Map.Entry<String, List<?>> entry : map.entrySet()) {
pageMap.put(entry.getKey(), entry.getValue());
}
}
_logger.debug("mapToJson convert end");
return objectMapper.writeValueAsString(pageMap);
}
}
//源代码片段来自云代码http://yuncode.net
java dto 转换_json dto javabean转换工具类相关推荐
- 根据日期,转换成星座、生肖工具类
package com.ss.common.util;import java.text.ParseException; import java.text.SimpleDateFormat; impor ...
- Java实现Unicode加码和解码的工具类
写代码的时候经常会用到unicode编码和解码,这里记录一下unicode的工具类. 其实unicode编码和解码,就是16进制数字和char之间的来回转换. 先看一下工具类: package com ...
- java 手机号脱敏,身份证号脱敏 工具类
java 手机号脱敏,身份证号脱敏 工具类 import org.apache.commons.lang3.StringUtils;/*** * @title: 脱敏工具类* @author: wll ...
- java将链接生成二维码工具类
一.添加依赖 <!-- 生成二维码--><dependency><groupId>com.google.zxing</groupId><artif ...
- Java - HuTool 使用 EscapeUtil、XmlUtil等工具类(四)
Java - HuTool 使用 EscapeUtil.XmlUtil等工具类(四) 本篇主要介绍 HuTool工具, 其是 java工具类,对于一些静态方法进行封装,虽然很小,但很全,里面拥有平时我 ...
- Java生成和解析二维码工具类(简单经典)
Java生成和解析二维码工具类 开箱即用,简单不废话. pom.xml引入依赖 <!-- https://mvnrepository.com/artifact/com.google.zxing/ ...
- 记录一下:Java 汉字获取拼音或首字母工具类
记录一下:Java 汉字获取拼音或首字母工具类 Maven依赖配置 Java代码 本文主要记录一下在Java中,如何将字符串中的中文转化为拼音,获取汉字串拼音首字母,获取汉字串拼音的工具类,以及相关的 ...
- Java教程:微信排序并加密工具类
Java教程:微信排序并加密工具类 源码: import cn.bsit.commons.md5.MD5Utils;import java.util.Arrays; import java.util. ...
- JAVA之多sheet页表格生成工具类
JAVA之多sheet页表格生成工具类 主要方法: import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.h ...
最新文章
- java兰顿蚂蚁解题思路_程序员面试金典 - 面试题 16.22. 兰顿蚂蚁(deque模拟)
- centos树莓派版本安装ssh_Raspberry Pi 4B(树莓派4B)远程ssh和jupyter lab环境搭建记录
- win系统下mysql忘记root账户密码的解决办法
- cloudwatch_将CloudWatch Logs与Cloudhub Mule集成
- 配置jdk1.7的环境变量
- JavaHelp 开发系统帮助(二)
- C#_基础_异常捕获(六)
- I/O的一些简单操作
- 用过的人都知道,AWT_Swing_多选框功能可是很好用啊
- CentOS下安装JDK6u30
- mysql 联合索引底层结构_MySQL联合索引底层数据结构
- 分享一下最近合成游戏源码
- 【OBS】OBS Studio 视频录制软件 的安装
- 使用theano进行深度学习实践(一)
- 计算机虚拟化的基本概念,虚拟化和虚拟机基本概念
- mp4 转 m3u8 java_java下载m3u8转ts合成mp4
- ADO.Net 之手机通讯录
- Unity文档——AssetBundle使用模式
- 【仅供娱乐】计算机算命之Python通天六十四卦
- 逻辑回归与梯度下降策略之Python实现