java使用jackson生成和解析JSON
java使用jackson生成和解析JSON
1.导包

2.生成json和解析json
package test; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import domain.Person;
import org.junit.Test; import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*; /**
* 2. Java对象转换JSON
* 1. 使用步骤:
* 1. 导入jackson的相关jar包
* 2. 创建Jackson核心对象 ObjectMapper
* 3. 调用ObjectMapper的相关方法进行转换
* 1. 转换方法:
* * writeValue(参数1,obj):
* 参数1:
* File:将obj对象转换为JSON字符串,并保存到指定的文件中
* Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
* OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
* * writeValueAsString(obj):将对象转为json字符串
* 使用jackSon生成解析jsom
* @date 2019/10/5 15:09
*/
public class Test1 {
@Test//生成json
public void test() throws IOException {
Person p=new Person();
p.setName("解析json");
p.setAge(13);
p.setGender("男");
ObjectMapper mapper=new ObjectMapper();//先创建objmapper的对象
String string = mapper.writeValueAsString(p);
/* *mapper.writeValue(参数1,obj): 1.File:将obj对象转换为JSON字符串,并保存到指定的文件中
* 2.Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
* 3.OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中*/
System.out.println(string);//{"name":"解析json","age":13,"gender":"男"} // 1.File:将obj对象转换为JSON字符串,并保存到指定的文件中
mapper.writeValue(new File("D://a.txt"),p);
// 2.Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
mapper.writeValue(new FileWriter("D://b.txt"),p);
}
@Test//json注解
public void test1() throws JsonProcessingException {
Person p=new Person();
p.setName("解析json");
p.setAge(13);
p.setGender("男");
p.setDate(new Date());
ObjectMapper mapper=new ObjectMapper();//先创建objmapper的对象
String string = mapper.writeValueAsString(p);
System.out.println(string);
}
@Test//json复杂转换
public void test2() throws JsonProcessingException {
Person p=new Person();
p.setName("解析json");
p.setAge(13);
p.setGender("男");
p.setDate(new Date()); Person p1=new Person();
p.setName("解析json");
p.setAge(13);
p.setGender("男");
p.setDate(new Date()); Person p2=new Person();
p.setName("解析json");
p.setAge(13);
p.setGender("男");
p.setDate(new Date());
//集合
List<Person> PS=new ArrayList<>();
PS.add(p);
PS.add(p1);
PS.add(p2);
ObjectMapper mapper=new ObjectMapper();//先创建objmapper的对象
String string = mapper.writeValueAsString(PS);
System.out.println(string);
}
@Test//json MAP生成json
public void test3() throws JsonProcessingException {
//创建map对象
Map<String,Object> map=new HashMap<>();
map.put("name","map");
map.put("age",11);
map.put("gender","男");
ObjectMapper mapper=new ObjectMapper();//先创建objmapper的对象
String string = mapper.writeValueAsString(map);
System.out.println(string);
}
@Test//json字符串转换为java对象
public void test4() throws IOException {
String json="{\"gender\":\"男\",\"name\":\"map\",\"age\":11}";
ObjectMapper mapper=new ObjectMapper();
Person person = mapper.readValue(json, Person.class);//有了对象就可以调用getXx和setXxx方法了
System.out.println(person);//打印一个person对象 Person{name='map', age=11, gender='男', date=null}
//这是一个json字符串{"name":"解析json","age":13,"gender":"男"}
}
}
3.person类
package domain; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import java.util.Date; public class Person {
private String name;
private int age;
private String gender;
//@JsonIgnore 转换时忽略 date字段
@JsonFormat(pattern = "yyyy-MM-dd")
private Date date; @Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", gender='" + gender + '\'' +
", date=" + date +
'}';
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getGender() {
return gender;
} public void setGender(String gender) {
this.gender = gender;
} public Date getDate() {
return date;
} public void setDate(Date date) {
this.date = date;
}
}
java使用jackson生成和解析JSON的更多相关文章
- 我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题
1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...
- fastjson生成和解析json数据,序列化和反序列化数据
本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<M ...
- fastjson生成和解析json数据
本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<M ...
- 转:JS中生成和解析JSON
原文地址:JS中生成和解析JSON 1.JS中生成JSON对象的方法: var json = []; var row1 = {}; row1.id= "1"; row1.name ...
- java分享第十三天(fastjson生成和解析json数据,序列化和反序列化数据)
fastjson简介:Fastjson是一个Java语言编写的高性能功能完善的JSON库.fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jack ...
- Android 利用Gson生成或解析json
目前手机端和服务端数据交流格式一般是json,而谷歌提供了Gson来解析json.下载Gson:https://code.google.com/p/google-gson/ 下载的放在lib并导入,若 ...
- Amdroid示例:利用Gson生成或解析json
转自:http://www.cnblogs.com/liqw/p/4266209.html 目前手机端和服务端数据交流格式一般是json,而谷歌提供了Gson来解析json.下载Gson:https: ...
- 使用JSONObject生成和解析json
1. json数据类型 类型 描述 Number 数字型 String 字符串型 Boolean 布尔型 Array 数组,以"[]"括起来 Object 对象,类似于C中的结构体 ...
- JS中生成和解析JSON
1.JS中生成JSON对象的方法: var json = []; var row1 = {}; row1.id= "1"; row1.name = "jyy"; ...
随机推荐
- mysql 获取数据库和表结构信息
SELECT * FROM information_schema.`TABLES` where TABLE_SCHEMA = '数据库名';SELECT * FROM information_sche ...
- lua 把图片转换成base64
调用实例 require("ZZBase64") local files local file = io.open("E:\\2342.jpg","r ...
- 20199324《Linux内核原理与分析》第十一周作业
SET-UID程序漏洞实验 一.实验简介 Set-UID 是 Unix 系统中的一个重要的安全机制.当一个 Set-UID 程序运行的时候,它被假设为具有拥有者的权限.例如,如果程序的拥有者是root ...
- Fabric不支持对同一个数据的并发事务处理
Fabric不支持对同一个数据的并发事务处理,也就是说, 如果我们同时运行了invoke(一),invoke(二),那么只会第一条Transaction成功, 而第二条失败.因为在Committer节 ...
- 19)PHP,数组知识
(1)数组的基础 在PHP中,数组的下标可以是数字,也可以是字符串 在PHP中,数组元素的顺序不是由下标决定的,而是由其加入的的顺序决定 (2)数组定义: array(1,5,11,'abs',tru ...
- Opencv笔记(十六)——认识轮廓
什么是轮廓? 轮廓可以简单认为成连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度.轮廓在形状分析和物体的检测和识别中很有用.谈起轮廓不免想到边缘,它们确实很像.简单的说,轮廓是连续的,边缘并 ...
- 【Java杂货铺】JVM#虚拟机加载机制
代码编译的结果从本地机器码变为字节码,是储存格式发展的一小步,却是编程语言发展的一大步--<深入理解Java虚拟机> 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转化 ...
- php利用curl发送 post get del put patch 请求
因为需要在php开发中对接其它接口需要用php curl去对接其它接口 我把他们封装成函数 希望能对大家有所帮助 这里面是封装好的 会自动把data进行转成json格式 同时解码成php数组 ...
- bcp文件, 逗号文件
bcp 实用工具 https://docs.microsoft.com/zh-cn/sql/tools/bcp-utility?view=sql-server-2017 大容量复制程序实用工具 (bc ...
- WIFI模块AP和STA模式分别是什么意思
无线AP(Access Point):即无线接入点,它用于无线网络的无线交换机,也是无线网络的核心.无线AP是移动计算机用户进入有线网络的接入点,主要用于宽带家庭.大楼内部以及园区内部,可以覆盖几十米 ...