Java to JSON:
 package json.jackson;

 import bean.User;
import com.fasterxml.jackson.databind.ObjectMapper; import java.io.File;
import java.util.Map; /**
* Jackson – Java to JSON
* 功能:JSON与Java对象、Map等类型转换,JSON文件的读写等
* 依赖包:jackson-databind-2.8.11.1.jar、jackson-core-2.8.10.jar、jackson-annotations-2.8.0.jar
* https://github.com/FasterXML/jackson-databind
*/
public class JavaToJSON {
public static void main(String[] ars) throws Exception {
User user = new User("tom", 25, "NO.1 street");
ObjectMapper objectMapper = new ObjectMapper(); // Java对象转json,也支持bytes
String json = objectMapper.writeValueAsString(user);
System.out.println("Java对象转json:" + json); // json转Java对象
User user2 = objectMapper.readValue(json, User.class);
System.out.println("json转Java对象" + user2); // 读文件
String jsonFilePath = "src/main/java/json/jackson/JsonReader.json";
User user3 = objectMapper.readValue(new File(jsonFilePath), User.class);
System.out.println("读取JSON文件:" + user3);
// 写文件
objectMapper.writeValue(new File(jsonFilePath), user3); // json转map,也支持List
Map map = objectMapper.readValue(json, Map.class);
System.out.println("json转map:" + map); // map转json字符串,支持所有类型转字符串
String json2 = objectMapper.writeValueAsString(map);
System.out.println("map转json:" + json2); }
}
JsonNode:
 package json.jackson;

 import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import java.io.File;
import java.util.List; /**
* JsonNode
* 处理复杂的JSON,返回多个对象的情况
* 从文件中读取复杂的JSON,根据key找到对应value值
* 依赖包:jackson-databind-2.8.11.1.jar、jackson-core-2.8.10.jar、jackson-annotations-2.8.0.jar
* https://github.com/FasterXML/jackson-databind
*/
public class JSONTreeDemo {
public static void main(String[] ars) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
String jsonFilePath = "src/main/java/json/jackson/Json2.json";
// 以树形态支持多对象的情况:支持读取多种类型
JsonNode jsonNode = objectMapper.readTree(new File(jsonFilePath));
System.out.println("jsonNode:" + jsonNode);
// 根据key查询多个值,返回list
List<JsonNode> list = jsonNode.findValues("name");
System.out.println("Values:" + list); // 根据key查询单个值
String channel = jsonNode.get("channel").asText();
System.out.println("查询channel的值:" + channel);
}
}

Java之JSON操作(Jackson)的更多相关文章

  1. Java之JSON操作(gson)

    使用gson包操作JSON数据. 依赖包:gson-2.8.2.jar <dependency> <groupId>com.google.code.gson</group ...

  2. Java解析json(二):jackson

    Java解析json(二):jackson   官方参考 Jackson Home Page:https://github.com/FasterXML/jackson Jackson Wiki:htt ...

  3. Java和js操作json

    Js中 Json字符串转json对象 //将json格式的字符串转为json对象 var t = JSON.parse('{"name":123}'); alert(t.name) ...

  4. Java 的 JSON 开源类库选择比较(zz)

    在看了作者的介绍,然后我又到mvnrepository上去看了各个库的的使用数之后,发现只能在jackson和gson之间做选择. 以下是原文 有效选择七个关于Java的JSON开源类库 April  ...

  5. @JsonCreator自定义反序列化函数-JSON框架Jackson精解第5篇

    Jackson是Spring Boot(SpringBoot)默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库.有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的, ...

  6. json解析jackson ,Gson,等知识总结

    相关资料链接: Java构造和解析json数据的两种方法详解 java解析json Android网络之数据分析---使用Google Gson 解析Json数据 使用jackson在java中处理j ...

  7. Json操作(DynamicJson)

    Json的简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了 ...

  8. java系列--JSON数据的处理

    http://blog.csdn.net/qh_java/article/details/38610599 http://www.cnblogs.com/lanxuezaipiao/archive/2 ...

  9. Java之JSON数据

    特别注意:使用JSON前需要导包 操作步骤地址:http://blog.csdn.net/baidu_37107022/article/details/70876993 1.定义 JSON(JavaS ...

随机推荐

  1. 理解Selection对象

    理解Selection对象 Selection对象的属性如下: var selection = window.getSelection(); console.log(selection); 通过上面的 ...

  2. 模拟斗地主和学生管理系统 IO 版

    1.模拟斗地主 public class PlayCards { public static void main(String[] args) { String[] color = {"黑桃 ...

  3. 数据可视化matplotlib、seaborn、pydotplus

    如需转发,请注明出处:小婷儿的python  https://www.cnblogs.com/xxtalhr/p/10486560.html 一.数据可视化 data.mat 链接:https://p ...

  4. nginx-1.13.12 源码配置清单

    configure命令支持以下参数: --help打印帮助信息. --prefix=安装路径定义一个将保留服务器文件的目录.这个相同的目录也将被用于由configure(由库源创建的路径除外)和ngi ...

  5. ASP 基础二 内置对象

    一 Request 二 Response 三 Application 四 Session 五 Server <script language="vbscript" runat ...

  6. Android学习之基础知识四-Activity活动5讲(Activity的生命周期)

    一.返回栈 1.Android是通过任务(Task)来管理活动,一个任务就是一个返回栈内所有活动的集合. 2.返回栈是一个后进先出的数据结构,每启动一个新的活动,该活动就会覆盖原来的活动,位于栈顶位置 ...

  7. [04] 高级映射 association和collection

    之前我们提到的映射,都是简单的字段和对象属性一对一,假设对象的属性也是一个对象,即涉及到两个表的关联,此时应该如何进行映射处理? 先看两张表,author 和 book:    业务上对应关系为,一个 ...

  8. NowCoder110E Pocky游戏 状压DP

    传送门 题意:给出$N$个数和一个长为$M$.所有数在$[1,N]$范围之内的正整数序列$a_i$,求出这$N$个数的一种排列$p_1...p_N$使得$\sum\limits_{i=2}^M |p_ ...

  9. Docker系列学习

    一.Docker入门 1.Docker概述与安装 2.Docker镜像管理 3.Docker容器管理 4.Docker数据管理 5.Docker网络配置 6.Docker图形化管理 7.Docker监 ...

  10. Linux运维笔记-日常操作命令总结(2)

    回想起来,从事linux运维工作已近5年之久了,日常工作中会用到很多常规命令,之前简单罗列了一些命令:http://www.cnblogs.com/kevingrace/p/5985486.html今 ...