Jackson基础
一、所需jar包:
jackson-core-x.x.x-rc4.jar、jackson-databind-x.x.x-rc4.jar、jackson-annotations-x.x.x-rc4.jar(本例使用jackson-core-2.6.0-rc4.jar、jackson-databind-2.6.0-rc4.jar、jackson-annotations-2.6.0-rc4.jar)。
二、解析转化:
1、json字符串 < ------ > js
String str="{\"name\" : \"peter\",\"age\" : 25,\"address\" : \"广州\",\"weight\" : \"55.5\",\"handsome\" : true}";
//json字符串 ------> json
ObjectMapper mapper=new ObjectMapper();
JsonNode jsonNode=mapper.readTree(str);
//json ------>json字符串
String jsonStr=jsonNode.toString();
2、java实体类 < ------ > json
public class User {
private String name;
private int age;
private String address;
private double weight;
private boolean handsome;
//此处省略构造方法和get、set方法
User user=new User("peter", 20, "广州", 55.5, true);
ObjectMapper mapper=new ObjectMapper();
//java实体类 ------> json字符串
String jsonStr=mapper.writeValueAsString(user);
//json字符串------>json
JsonNode json=mapper.readTree(jsonStr);
//json ------> java实体类
User user2=mapper.readValue(jsonStr, User.class);
3、List < ------ > json
List<String> list=new ArrayList<String>();
list.add("QQQQQQ");
list.add("WWWWWW");
list.add("EEEEEE");
list.add("RRRRRR"); ObjectMapper mapper=new ObjectMapper();
//List ------> json字符串
String jsonStr=mapper.writeValueAsString(list);
//json字符串 ------> json
JsonNode jsonNode=mapper.readTree(jsonStr);
//json字符串 ------> List
List<String> list2=mapper.readValue(jsonStr, List.class);
4、Map < ------ > json
Map<String, String> map=new HashMap<String, String>();
map.put("name", "peter");
map.put("sex", "Man");
map.put("age", "20"); ObjectMapper mapper=new ObjectMapper();
//Map ------> json字符串
String jsonStr=mapper.writeValueAsString(map);
//json字符串 ------> json
JsonNode json=mapper.readTree(jsonStr);
//json ------> Map
Map<String, String> map2=mapper.readValue(json.toString(), Map.class);
5、Set < ------ > json
Set<String> set=new HashSet<String>();
set.add("QQQQQQ");
set.add("wwwwww");
set.add("eeeeee"); ObjectMapper mapper=new ObjectMapper();
//Set ------> json字符串
String jsonStr=mapper.writeValueAsString(set);
//json字符串 ------> json
JsonNode jsonNode=mapper.readTree(jsonStr);
//json字符串 ------> Set
Set<String> set2=mapper.readValue(jsonStr, Set.class);
三、CRUD:
1、查询数据:
//peter
String name=jsonNode.get("name").asText();
//"peter"
String name1=jsonNode.get("name").toString(); //提取handsome(true)
JsonNode handsome=jsonNode.path("handsome"); int age=jsonNode.get("age").asInt();
double weight=jsonNode.get("weight").asDouble();
boolean handsome=jsonNode.get("handsome").asBoolean()
for (int i = 0; i < jsonNode.size(); i++) {
System.out.println(jsonNode.get(i));
}
2、增加数据:
ObjectMapper mapper=new ObjectMapper();
ObjectNode node=mapper.createObjectNode();
//{"name":"DJ","age":18}
node.put("name", "DJ");
node.put("age", 18);
ArrayNode arrayNode=mapper.createArrayNode();
//["name","age"]
arrayNode.add("name");
arrayNode.add("age");
3、删除数据:
ObjectMapper mapper=new ObjectMapper();
ObjectNode node=mapper.createObjectNode(); node.put("name", "DJ");
node.put("age", 18); node.remove("name");
ArrayNode arrayNode=mapper.createArrayNode();
//["name","age"]
arrayNode.add("name");
arrayNode.add("age");
int index=0;
arrayNode.remove(index);
4、修改数据:
ObjectMapper mapper=new ObjectMapper();
ObjectNode node=mapper.createObjectNode(); node.put("name", "DJ");
node.put("age", 18); //重置数据
node.put("name", "MDJ");
ArrayNode arrayNode=mapper.createArrayNode();
//["name","age"]
arrayNode.add("name");
arrayNode.add("age"); for (int i = 0; i < arrayNode.size(); i++) {
if("name".equals(arrayNode.get(i).asText())){
arrayNode.remove(i);
arrayNode.add("userName");
}
}
Jackson基础的更多相关文章
- Jackson基础笔记
具体内容待完善......手抖,发错了! 一.基本使用 1. bean->jsonStr 2. jsonStr->bean 二.注解使用 三.复杂对象转换 四.其他细节 读取json文本.
- JSON 解析 (二)—— Jackson的使用
Jackson是基于Java语言的一种JSON和Java对象的数据处理工具.功能上简单易用,性能上根据目前主流转换工具比较,Jackson相对比较高效. <dependency> < ...
- Java进阶学习:JSON解析利器JackSon
Java:JSON解析利器JackSon JackSon基础 1.Maven项目引入 <!-- https://mvnrepository.com/artifact/org.codehaus.j ...
- Maven多模块,Dubbo分布式服务框架,SpringMVC,前后端分离项目,基础搭建,搭建过程出现的问题
现互联网公司后端架构常用到Spring+SpringMVC+MyBatis,通过Maven来构建.通过学习,我已经掌握了基本的搭建过程,写下基础文章为而后的深入学习奠定基础. 首先说一下这篇文章的主要 ...
- 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)
索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...
- Jackson序列化和反序列化Json数据完整示例
Jackson序列化和反序列化Json数据 Web技术发展的今天,Json和XML已经成为了web数据的事实标准,然而这种格式化的数据手工解析又非常麻烦,软件工程界永远不缺少工具,每当有需求的时候就会 ...
- jackson中JSON字符串节点遍历和修改
有些场景下,在实现一些基础服务和拦截器的时候,我们可能需要在不知道JSON字符串所属对象类型的情况下,对JSON字符串中的某些属性进行遍历和修改,比如,设置或查询一些报文头字段. 在jackson中, ...
- gradle基础的build文件模板_jetty
group '组织名' version '版本号' /* 支持的插件 */ apply plugin: 'java' // 项目基础变成语言支持为java apply plugin: 'war' // ...
- jackson 注脚学习参考
(1)初级我们从几个简单的使用场景开始:重命名属性,忽略属性,以及修改属性所使用的类型.注意:下面的例子仅仅显示了成员属性(field properties),注解同样也可以用在成员方法(getter ...
随机推荐
- python nose测试框架全面介绍三
三.nose的测试工具集 nose.tools模块提供了一系列的小工具,包括测试执行时间.异常输出及unittest框架中所有的assert功能. 为了使写用例更加容易,nose.tools提供了部分 ...
- Node学习HTTP模块(HTTP 服务器与客户端)
Node学习HTTP模块(HTTP 服务器与客户端) Node.js 标准库提供了 http 模块,其中封装了一个高效的 HTTP 服务器和一个简易的HTTP 客户端.http.Server 是一个基 ...
- centos6.9环境下JDK安装
1.准备jdk安装文件: 这里我使用的是 jdk-7u79-linux-x64.tar.gz 2.在 /usr/local 目录下创建 sotfware目录,并上传JDK文件: 解压文件并修改文件夹为 ...
- JNUOJ 1180 - mod5
首先,可以自己先一个超时的标程出来: #include<cstdio> typedef long long ll; ll n,m,cnt; int main() { int t; scan ...
- easyui-layout个人实例
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- Linux:获取当前进程的执行文件的绝对路径
摘要:本文介绍Linux的应用程序和内核模块获取当前进程执行文件绝对路径的实现方法. 注意:使用此方法时,如果执行一个指向执行文件的链接文件,则获得的不是链接文件的绝对路径,而是执行文件的绝对路径. ...
- Oracle安装部署之RedHat安装Oracle11g_R2
硬件配置 内存 :≥1G 硬盘空间:≥10G 上传oracle11g安装包: putty上用wcw用户登录,通过ftp服务上传oracle安装文件到/home/wcw目录下解压 #unzip linu ...
- Python高阶函数:map、reduece、filter
笔记中函数简介: map函数:遍历序列,对序列中每个元素进行操作,最终获取新的序列. reduce函数:对于序列内所有元素进行累计操作. filter函数:对于序列中的元素进行筛选,最终获取符合条件的 ...
- MySQL锁定状态查看相关命令
1.show processlist; SHOW PROCESSLIST显示哪些线程正在运行.您也可以使用mysqladmin processlist语句得到此信息.如果您有SUPER权限,您可以看到 ...
- 异步通信----WebSocket
什么是WebSocket? WebSocket API是下一代客户端-服务器的异步通信方法.该通信取代了单个的TCP套接字,使用ws或wss协议,可用于任意的客户端和服务器程序.WebSocket目前 ...