用jackson实现json和字符串直接的转换
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。
maven
<dependencies><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.6.2</version></dependency><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-xml --><dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId><version>2.7.6</version></dependency> </dependencies>
需要转换的json数据
{"username": "zhangsan","性别": "男","company": {"companyName": "中华","address": "北京"},"cars": ["奔驰","宝马"],"logList": [{"id": 123,"name": "abc"},{"id": 234,"name": "efff"}]
}
Java调用
package test;
import java.util.List;
import java.util.Map;import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
/*** 日志类* @author Administrator**/
class Log{private int id;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "log [id=" + id + ", name=" + name + "]";}}
public class JacksonTest {public static void main(String[] args) throws Exception {String json = "{\"username\":\"zhangsan\",\"性别\":\"男\",\"company\":{\"companyName\":\"中华\",\"address\":\"北京\"},\"cars\":[\"奔驰\",\"宝马\"],\"logList\":[{\"id\":123,\"name\":\"abc\"},{\"id\":234,\"name\":\"efff\"}]}"; //System.out.println(json);ObjectMapper mapper = new ObjectMapper();JsonNode rootNode = mapper.readTree(json);JsonNode usernameNode = rootNode.path("username");String username = mapper.writeValueAsString(usernameNode);System.out.println("==username==");System.out.println(username);//转换成类型,Map类型,同样Integer,String,List,也可以同样处理JsonNode companyNode = rootNode.path("company");String company = mapper.writeValueAsString(companyNode); Map<String,Object> companyMap = mapper.readValue(company, Map.class);System.out.println("==company==");System.out.println(companyMap);//转换成List<Log>,类型JsonNode logListNode = rootNode.path("logList");String logJson = mapper.writeValueAsString(logListNode);JavaType logType = mapper.getTypeFactory().constructParametricType(List.class, Log.class);List<Log> logList = mapper.readValue(logJson, logType);System.out.println("==logList==");System.out.println(logList); }}
打印出结果
==username==
"zhangsan"
==company==
{companyName=中华, address=北京}
==logList==
[log [id=123, name=abc], log [id=234, name=efff]]
用jackson实现json和字符串直接的转换相关推荐
- 使用Jackson实现json格式字符串与obj之间的转换
文章目录 1. json字符串简介 2. 转换工具 3. json与obj相互转换 2.1 obj转json字符串 2.2 json字符串转obj 2.3 转换为List类型 2.4 转化为Map类型 ...
- Json与字符串之间的转换
后端 1.JSONObject 1.字符串转为json对象 String jsonStr = "{\"school\":\"商职\",\"s ...
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换. JSONObject:fas ...
- json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...
json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...
- fastjson 检测json格式_FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换...
fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换. JSONObject:fas ...
- JSON对象与字符串之间的转换
JSON对象与字符串之间的转换 JSON转换成字符串 字符串转换成JSON JavaScript中内置了一个JSON对象,可以用来进行JSON与字符串之间的转换. JSON转换成字符串 使用:JSON ...
- python中字符串和json的转换,Python笔记——json和字符串之间的相互转换
json和字符串之间的转换,主要使用到json库中的json.loads()函数json.dumps()含函数. 所以我们首先要导入json库. import json 一.字符串转为json,使用 ...
- Spring Mvc使用Jackson进行json转对象时,遇到的字符串转日期的异常处理(Can not deserialize value of type Date from String)
1.问题排查 出现的场景: 服务端通过springmvc写了一个对外的接口,返回一个json字符串,其中该json带有日期,格式为yyyy-MM-dd HH:mm:ss 客户端通过feign调用该ht ...
- Jackson - 将 JSON字符串转换为 List
将 JSON 数组字符串转换为List使用的方法: // JSON array string // [{"name":"mkyong", "age&q ...
最新文章
- 阿里Java岗P5-P7成长笔记【3283页PDF文档】
- 智源青年科学家候选人 | 张祥雨:挑战自动化深度学习系统
- java容易混淆的知识点
- 全排列算法的全面解析
- ITK:注册IO工厂RegisterIOFactories
- 雪花算法原理_低照度摄像机原理及影响图像效果因素
- 7. 整数反转 golang
- Struts2 的Action 命名重复检测
- C语言指针超全面透析(原来你一直没有搞懂C语言指针是因为没有理解其中的规律)
- Silverlight 4处理StartWith的BUG
- eclipse 自动提示卡断问题
- 阿里云CDN、DCDN、SCDN的区别
- 解除 网课失去焦点/离开页面 就自动暂停 的限制
- php文件格式,php是什么文件格式
- sublime text3 verilog代码编写高级操作篇
- 那些一出口就很Low的话
- html页面中的快捷键设置
- 基于小程序制作一个猜拳小游戏
- 在微型计算机中1mb等于多少字节,字节换算-1mb等于多少kb
- 猎聘网2017年校园招聘研发类岗位笔试题
热门文章
- 为什么公司的运营都会有负债的出现?
- 无需括号的xss payload
- 用python定义两个元组_python学习笔记2---python中表示“组”的概念与定义
- Latex论文参考文献引用的获取
- 【陈工笔记】# latex中,“_”如何写? #
- 记事本编写html闪退,加载的时候出现一个记事本点确定就闪退了,萌新求解答...
- Stata数据处理:面板数据的填充和补漏
- 手机和电脑基于java的socket简单通信
- 激光点云构建地图(二)手动标注点云地图
- 全球与中国转底炉市场深度研究分析报告