博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java之JSON操作(Jackson)
阅读量:4617 次
发布时间:2019-06-09

本文共 2691 字,大约阅读时间需要 8 分钟。

Java to JSON:
1 package json.jackson; 2  3 import bean.User; 4 import com.fasterxml.jackson.databind.ObjectMapper; 5  6 import java.io.File; 7 import java.util.Map; 8  9 /**10  * Jackson – Java to JSON11  * 功能:JSON与Java对象、Map等类型转换,JSON文件的读写等12  * 依赖包:jackson-databind-2.8.11.1.jar、jackson-core-2.8.10.jar、jackson-annotations-2.8.0.jar13  * https://github.com/FasterXML/jackson-databind14  */15 public class JavaToJSON {16     public static void main(String[] ars) throws Exception {17         User user = new User("tom", 25, "NO.1 street");18         ObjectMapper objectMapper = new ObjectMapper();19 20         // Java对象转json,也支持bytes21         String json = objectMapper.writeValueAsString(user);22         System.out.println("Java对象转json:" + json);23 24         // json转Java对象25         User user2 = objectMapper.readValue(json, User.class);26         System.out.println("json转Java对象" + user2);27 28         // 读文件29         String jsonFilePath = "src/main/java/json/jackson/JsonReader.json";30         User user3 = objectMapper.readValue(new File(jsonFilePath), User.class);31         System.out.println("读取JSON文件:" + user3);32         // 写文件33         objectMapper.writeValue(new File(jsonFilePath), user3);34 35         // json转map,也支持List36         Map map = objectMapper.readValue(json, Map.class);37         System.out.println("json转map:" + map);38 39         // map转json字符串,支持所有类型转字符串40         String json2 = objectMapper.writeValueAsString(map);41         System.out.println("map转json:" + json2);42 43     }44 }
JsonNode:
1 package json.jackson; 2  3 import com.fasterxml.jackson.databind.JsonNode; 4 import com.fasterxml.jackson.databind.ObjectMapper; 5  6 import java.io.File; 7 import java.util.List; 8  9 /**10  * JsonNode11  * 处理复杂的JSON,返回多个对象的情况12  * 从文件中读取复杂的JSON,根据key找到对应value值13  * 依赖包:jackson-databind-2.8.11.1.jar、jackson-core-2.8.10.jar、jackson-annotations-2.8.0.jar14  * https://github.com/FasterXML/jackson-databind15  */16 public class JSONTreeDemo {17     public static void main(String[] ars) throws Exception {18         ObjectMapper objectMapper = new ObjectMapper();19         String jsonFilePath = "src/main/java/json/jackson/Json2.json";20         // 以树形态支持多对象的情况:支持读取多种类型21         JsonNode jsonNode = objectMapper.readTree(new File(jsonFilePath));22         System.out.println("jsonNode:" + jsonNode);23         // 根据key查询多个值,返回list24         List
list = jsonNode.findValues("name");25 System.out.println("Values:" + list);26 27 // 根据key查询单个值28 String channel = jsonNode.get("channel").asText();29 System.out.println("查询channel的值:" + channel);30 }31 }

 

转载于:https://www.cnblogs.com/gongxr/p/8446922.html

你可能感兴趣的文章
【转载】C/C++中的char,wchar,TCHAR
查看>>
SublimeText2 编辑器使用小结
查看>>
Debian 6 网络安装
查看>>
Python学习小记
查看>>
心灵学家宣称阿波罗16号宇航员发现外星飞船
查看>>
POJ 2186 Popular Cows
查看>>
Spring Boot:整合Spring Security
查看>>
html中 size和maxlength区别
查看>>
位运算和enum中的位运算
查看>>
浅谈面向对象的方法和属性
查看>>
我的github地址
查看>>
JSTL标签(核心标准库)
查看>>
MySQL 数据类型
查看>>
HDU 4893 线段树裸题
查看>>
转载的 Linux下chkconfig命令详解
查看>>
tomcat
查看>>
scrapy yield
查看>>
js中的this指针的用法
查看>>
[LeetCode] Remove Comments 移除注释
查看>>
[LeetCode] 902. Numbers At Most N Given Digit Set 最大为 N 的数字组合
查看>>