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. CentOS7 NAT配置

    环境说明:Cloud1中的GE0/0/1.GE0/0/3.GE0/0/5接口,分别与Centos7中的eth1.eth2.eth3接口桥接到同一虚拟网卡,R1,R2,R3均配置一条静态默认路由指向Ce ...

  2. JS中创建10个a标签,点击弹出对应的序号

    <script type="text/javascript"> for(var i=0;i<10;i++){ (function(i){ var a=docume ...

  3. PCIeのType0与Type1型配置请求与BAR(基地址寄存器)

    PCIe中存在两种配置空间Type0&type1,TYPE0对应非桥设备(Endpoint),Type1对应桥设备(Root和Switch端口中的P2P桥)因为Root每个端口总都含有一个P2 ...

  4. activemq高可用

    这里是基于 zookeeper 选举方式实现的集群配置,服务器过半数才可提供服务,所以是2n+1台这里以三台为例. 只有master节点能提供服务,slave节点无法提供服务,只有当master节点挂 ...

  5. svn版本服务器的搭建和简单使用

    ⼀ 服务器搭建篇 1 在”应⽤用程序”⽂文件夹下,找到”实⽤用⼯工具”,打开”终端”APP 2 运⾏行svnadmin create repository,运⾏行完毕之后,可以在当前⺫⽬目录下找 到⼀ ...

  6. R语言模型选择之精度准则与最大值法问题

    在模型选择中我们一般用caret包train函数建立模型,并对模型进行评判 方法1: ) tr_control<-trainControl(method = ) # 创建随机森林模型 model ...

  7. linux NFS 实例

    为了证明是 Allentunsgroup 组起的作用而非用户 [root@NFS_Client ~]# useradd scott1 [root@NFS_Client ~]# passwd scott ...

  8. Result window is too large, from + size must be less than or equal to: [10000] but was [78440]. See the scroll api for a more efficient way to request large data sets

    {"error":{"root_cause":[{"type":"query_phase_execution_exception& ...

  9. c/c++基础篇之数据类型转换

    C/C++常见的数据类型转换 1.      常见的单类基本类型转换 (1)强制类型转换 如: int a=(int)(9.87)  结果a=9 char c=(char)(97)  结果为c=’a’ ...

  10. 011-linux服务管理

    linux服务管理 [root@zabbix lianxi]# chkconfig --list 注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务.SysV 配置数据 可能被 ...