JsonUtils 工具类
2019独角兽企业重金招聘Python工程师标准>>>
package org.jeeyxy.util;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.converter.json.MappingJacksonValue;import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;public class JsonUtils {private static Logger logger = LoggerFactory.getLogger(JsonUtils.class);private final static ObjectMapper objectMapper = new ObjectMapper();private JsonUtils() {}public static ObjectMapper getInstance() {return objectMapper;}/*** javaBean,list,array convert to json string*/public static String toJson(Object obj) {try {return objectMapper.writeValueAsString(obj);} catch (Exception ex) {logger.warn("write to json string error:" + obj, ex);return null;}}/*** json string convert to javaBean*/public static <T> T toBean(String jsonStr, Class<T> clazz) throws Exception {return objectMapper.readValue(jsonStr, clazz);}/*** json string convert to map*/public static <T> Map<String, Object> toMap(String jsonStr) throws Exception {if (jsonStr != null && !"".equals(jsonStr)) {return objectMapper.readValue(jsonStr, Map.class);} else {return null;}}/*** json string convert to map with javaBean*/public static <T> Map<String, T> toMapBean(String jsonStr, Class<T> clazz) throws Exception {Map<String, Map<String, Object>> map = objectMapper.readValue(jsonStr, new TypeReference<Map<String, T>>() {});Map<String, T> result = new HashMap<String, T>();for (Entry<String, Map<String, Object>> entry : map.entrySet()) {result.put(entry.getKey(), mapToBean(entry.getValue(), clazz));}return result;}/*** json array string convert to list with javaBean*/public static <T> List<T> toList(String jsonArrayStr, Class<T> clazz) throws Exception {List<Map<String, Object>> list = objectMapper.readValue(jsonArrayStr, new TypeReference<List<T>>() {});List<T> result = new ArrayList<T>();for (Map<String, Object> map : list) {result.add(mapToBean(map, clazz));}return result;}/*** map convert to javaBean*/public static <T> T mapToBean(Map map, Class<T> clazz) {return objectMapper.convertValue(map, clazz);}public static MappingJacksonValue jsonp(Object value,String callback){MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(value);mappingJacksonValue.setJsonpFunction(callback);return mappingJacksonValue;}
}
转载于:https://my.oschina.net/chendongj/blog/1619528
JsonUtils 工具类相关推荐
- JSONUtils工具类(基于alibaba fastjson)
1.引入maven依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson&l ...
- Android开发常用工具类
来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前 ...
- Android常用的工具类
2019独角兽企业重金招聘Python工程师标准>>> 最新最准确内容建议直接访问原文:Android常用的工具类 主要介绍总结的Android开发中常用的工具类,大部分同样适用于J ...
- Android项目中常用的工具类集(史上最全整理)
如果你是一名有经验的Android开发者,那么你一定积累了不少的工具类,这些工具类是帮助我们快速开发的基础.如果你是新手,那么有了这些辅助类,可以让你的项目做起来更加的简单. 下面介绍一个在GitHu ...
- Json工具类 - JsonUtils.java
Json工具类,提供Json与对象之间的转换. 源码如下:(点击下载 - JsonUtils.java . gson-2.2.4.jar ) 1 import java.lang.reflect.Ty ...
- Java常用工具类JsonUtils
Java常用工具类JsonUtils 一.项目添加pom文件 <dependency><groupId>com.google.code.gson</groupId> ...
- 基于Jackson的JSON工具类封装 JsonUtils
直接上代码,都有注释,一看就懂,完全满足日常开发需求 import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.f ...
- simplexmlelement类设置编码_「软帝学院」:2019java五大常用工具类整理
1.json转换工具 1. package com.taotao.utils; 3. import java.util.List; 5. import com.fasterxml.jackson.co ...
- jsonutil java_Java实现的JSONUtil工具类与用法示例
本文实例讲述了Java实现的JSONUtil工具类与用法.分享给大家供大家参考,具体如下: import java.util.HashMap; import java.util.Map; import ...
最新文章
- 自制爬虫,爬取分类总阅读量,总评论量。全部文章阅读量和,以及评论量和。但是发现数据不对
- Akka 系列(五):Java 和 Scala 中的 Future
- begin end会产生事务吗_无线信号放大器会产生同频干扰吗?
- linux tcpdump 抓包
- coco关键点标注json_COCO 数据集中目标检测标注说明
- 产品经理不得不知的APP数据分析及报表设计基础
- 10个Flex MVC 框架(转)
- css3怎么设置logo,纯CSS3实现的LOGO标志 ABN AMRO CSS3 logo
- 数字后端——布图规划
- 文件拷贝(字符、字节)
- f4 stm32 神经网络_STM32神经网络开发工具箱将AI技术引入边缘和节点嵌入式设备...
- iphone7防水_iPhone11系列防水测试,其结果令人意外
- babel工作笔记001---babel从入门到入门
- 一文速览 | 对话生成预训练模型
- Atitit prgrmlan topic--express lan QL query lan表达式语言 目录 1. 通用表达语言(CEL)	1 1.1. 8.2 功能概述	1 1.2. Ongl
- 【0610】【数据结构】【C语言版视频教程】【 全52讲 完整版】
- 大数据技术原理与应用(最后三天备考!!!)
- 事业单位考试计算机专业知识题库,计算机考试题库:计算机考试练习题(29)...
- html五角星符号怎么打,实心五角星怎么打出来(半实心星星符号连续)
- UGUI实现图片特效轮播,使用插件DOTWEEN