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 工具类相关推荐

  1. JSONUtils工具类(基于alibaba fastjson)

    1.引入maven依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson&l ...

  2. Android开发常用工具类

    来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前 ...

  3. Android常用的工具类

    2019独角兽企业重金招聘Python工程师标准>>> 最新最准确内容建议直接访问原文:Android常用的工具类 主要介绍总结的Android开发中常用的工具类,大部分同样适用于J ...

  4. Android项目中常用的工具类集(史上最全整理)

    如果你是一名有经验的Android开发者,那么你一定积累了不少的工具类,这些工具类是帮助我们快速开发的基础.如果你是新手,那么有了这些辅助类,可以让你的项目做起来更加的简单. 下面介绍一个在GitHu ...

  5. Json工具类 - JsonUtils.java

    Json工具类,提供Json与对象之间的转换. 源码如下:(点击下载 - JsonUtils.java . gson-2.2.4.jar ) 1 import java.lang.reflect.Ty ...

  6. Java常用工具类JsonUtils

    Java常用工具类JsonUtils 一.项目添加pom文件 <dependency><groupId>com.google.code.gson</groupId> ...

  7. 基于Jackson的JSON工具类封装 JsonUtils

    直接上代码,都有注释,一看就懂,完全满足日常开发需求 import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.f ...

  8. simplexmlelement类设置编码_「软帝学院」:2019java五大常用工具类整理

    1.json转换工具 1. package com.taotao.utils; 3. import java.util.List; 5. import com.fasterxml.jackson.co ...

  9. jsonutil java_Java实现的JSONUtil工具类与用法示例

    本文实例讲述了Java实现的JSONUtil工具类与用法.分享给大家供大家参考,具体如下: import java.util.HashMap; import java.util.Map; import ...

最新文章

  1. 自制爬虫,爬取分类总阅读量,总评论量。全部文章阅读量和,以及评论量和。但是发现数据不对
  2. Akka 系列(五):Java 和 Scala 中的 Future
  3. begin end会产生事务吗_无线信号放大器会产生同频干扰吗?
  4. linux tcpdump 抓包
  5. coco关键点标注json_COCO 数据集中目标检测标注说明
  6. 产品经理不得不知的APP数据分析及报表设计基础
  7. 10个Flex MVC 框架(转)
  8. css3怎么设置logo,纯CSS3实现的LOGO标志 ABN AMRO CSS3 logo
  9. 数字后端——布图规划
  10. 文件拷贝(字符、字节)
  11. f4 stm32 神经网络_STM32神经网络开发工具箱将AI技术引入边缘和节点嵌入式设备...
  12. iphone7防水_iPhone11系列防水测试,其结果令人意外
  13. babel工作笔记001---babel从入门到入门
  14. 一文速览 | 对话生成预训练模型
  15. Atitit prgrmlan topic--express lan QL query lan表达式语言 目录 1. 通用表达语言(CEL) 1 1.1. 8.2 功能概述 1 1.2. Ongl
  16. 【0610】【数据结构】【C语言版视频教程】【 全52讲 完整版】
  17. 大数据技术原理与应用(最后三天备考!!!)
  18. 事业单位考试计算机专业知识题库,计算机考试题库:计算机考试练习题(29)...
  19. html五角星符号怎么打,实心五角星怎么打出来(半实心星星符号连续)
  20. UGUI实现图片特效轮播,使用插件DOTWEEN

热门文章

  1. 使用vbs脚本检查网站是否使用asp.net
  2. 82.开始→运行→输入的命令集锦
  3. 2008年最新的100条经典句子
  4. flashcom网址收集
  5. 10 分钟上手 Vim,常用命令大盘点
  6. 不停刷朋友圈的人_不停刷新闻、朋友圈、微信群的朋友,休息一下,看多了伤身!...
  7. ext js ajax表单校验,Extjs之grid单元格编辑校验(示例代码)
  8. 用户注册功能交互流程
  9. MySQL高级 - 内存优化 - InnoDB内存优化
  10. 字符串中的编码解码问题