public static Object returnObject(String jsonStr, Class objClass) {
if (jsonStr == null) {
return null;
}
Object obj = null;
try {
obj = mapper.readValue(jsonStr, objClass);
} catch (JsonParseException e) {
logger.info(logger.getName() + "-->returnObject exception:" + e);
} catch (JsonMappingException e) {
logger.info(logger.getName() + "-->returnObject exception:" + e);
} catch (IOException e) {
logger.info(logger.getName() + "-->returnObject exception:" + e);
} finally {
return obj;
}
}

public static JsonNode returnJsonNode(String jsonString) {
JsonNode jsonNode = null;
try {
jsonNode = mapper.readTree(jsonString);
} catch (IOException e) {
logger.error("error in returnJsonNode due to {}" + e);
}
return jsonNode;
}

public static<T> T returnType(String jsonStr, TypeReference<T> valueTypeRef) {
if (jsonStr == null) {
return null;
}
T t = null;
try {
t = mapper.readValue(jsonStr, valueTypeRef);
} catch (JsonParseException e) {(http://www.amjmh.com/v/BIBRGZ_558768/)
logger.info(logger.getName() + "-->returnType:" + e);
} catch (JsonMappingException e) {
logger.info(logger.getName() + "-->returnType:" + e);
} catch (IOException e) {
logger.info(logger.getName() + "-->returnType:" + e);
} finally {
return t;
}
}

public static <T> T readValue(JsonNode rootJsonNode, List<String> fieldNames, Class<T> valueType) {

JsonNode jsonNode = getJsonNode(rootJsonNode, fieldNames);

if (jsonNode == null || valueType == null) {
return null;
}

try {
return mapper.readerFor(valueType).readValue(jsonNode);
} catch (IOException e) {
logger.info(logger.getName() + "-->readValue:" + e.getMessage());
}

return null;
}

public static JsonNode getJsonNode(JsonNode rootJsonNode, List<String> fieldNames) {
JsonNode jsonNode = rootJsonNode;

for (int i = 0; i < fieldNames.size(); i++) {
if (jsonNode.has(fieldNames.get(i))) {
jsonNode = jsonNode.get(fieldNames.get(i));
} else {
return null;
}
}

return jsonNode;
}

}
---------------------

对象转json串.的更多相关文章

  1. java对象与json串互转

    1:java对象与json串转换: java对象—json串: JSONObject JSONStr = JSONObject.fromObject(object); String str = JSO ...

  2. 为javasript中对象与json串之间转换的总结。

    jQuery.json 是 jQuery 的一个插件,可轻松实现对象和 JSON 字符串之间的转换.可序列化 JavaScript 对象.数值.字符串和数组到 JSON 字符串,同时可转换 JSON ...

  3. C# 对象与JSON串互相转换(转)

    DoNet2.0 需要借助于Newtonsoft.Json.dll 代码 using System;using System.IO;using System.Text;using Newtonsoft ...

  4. C# 对象与JSON串互相转换

    using System;using System.IO;using System.Text;using Newtonsoft.Json; namespace OfflineAcceptControl ...

  5. JS中JSON.stringify()方法,将js对象(json串)转换成字符串,传入服务器

    JSON 通常用于与服务端交换数据. 在向服务器发送数据时一般是字符串. 我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串. 语法 JSON.string ...

  6. 使用FastJSON,将对象或数组和JSON串互转

    Fastjson,是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库.其开源的下载网址为:https://github.com/AlibabaTech/fastjson. 示例代码如下: ...

  7. JSON串、JSON对象、Java对象的相互转换

    对象类型转换2: com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串.JSON对象,JSON串转成java对象.JSON对象,JSO ...

  8. android下基本json串的生成与解析

    以前就用过json串,不过是在java环境下面,如今转移到android环境下,java里面生成解析json串的jar包与android中自带的冲突,所以也只能用安卓自带的.   先前查网上的资料,感 ...

  9. 将对象转换为JSON字符串

    将对象转换为JSON串: 方案一: 可以通过json-lib工具jar包进行转化:在www.json.org官网下载jar包. 方案二: 通过ObjectMapper对象进行转换 需要引入相应的jar ...

随机推荐

  1. 数据库 三范式 BCFN

    # 三范式 范式  设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小.  目前关系数据库有六种范式:第一 ...

  2. MySQL-快速入门(3)运算符

    1.常见的运算符:算术运算符.比较运算符.逻辑运算符.位运算符. 算术运算符:+.-.*./.%(求余). 比较运算符:>.<.=.>=.<=.!=.in.between an ...

  3. Python 数据分析:Pandas 缺省值的判断

    Python 数据分析:Pandas 缺省值的判断 背景 我们从数据库中取出数据存入 Pandas None 转换成 NaN 或 NaT.但是,我们将 Pandas 数据写入数据库时又需要转换成 No ...

  4. P2220 [HAOI2012]容易题

    传送门 首先 $(\sum_{i=1}^{n}a_i)(\sum_{i=1}^{m}b_i)$ 展开以后包含了所有 $ab$ 两两相乘的情况并且每种组合只出现一次 发现展开后刚好和题目对序列价值的定义 ...

  5. 计算机系统结构总结_Scoreboard and Tomasulo

    Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR 超标量 前面讲过超标量的概念.超标量的目的就是实现指 ...

  6. Docker Compose 部署 Redis 及原理讲解 | 懒人屋

    原文:Docker Compose 部署 Redis 及原理讲解 | 懒人屋 Docker Compose 部署 Redis 及原理讲解  4.4k  字    16  分钟    2019-10-1 ...

  7. 检验Excel中数据是否与数据库中数据重复

    #region 记录Excel中的重复列 /// <summary> /// 记录Excel中的重复列 /// </summary> /// <param name=&q ...

  8. vue编写轮播图组件

    <template>  <div id="slider">    <div class="window" @mouseover=& ...

  9. Spring基础08——使用p命名空间

    1.使用p命名空间 为了简化xml配置,越来越多的xml文件采用属性而非子元素配置信息,Spring从2.5版本开始引入了一个新的p命名空间,可以通过<bean>元素属性的方式配置Bean ...

  10. Python自动化学习--异常提示

    举例:打开一个不存在的文件时: >>open("abc.txt","r")会提示错误 Traceback (most recent call las ...