java jackson 手册_Java Jackson ObjectMapper

这篇博客介绍了如何使用Jackson库的ObjectMapper类将JSON字符串反序列化为Java对象,包括从String、InputStream、Reader和File转换的方法。示例中展示了如何创建一个Student对象并将其转换为JSON,然后反序列化回Student对象。此外,还演示了如何将Java对象写入文件和从文件读取。
摘要由CSDN通过智能技术生成

Java Jackson ObjectMapper

ObjectMapper 将Json反序列化成Java对象的重载方法是readValue(...,Object.class)

maven 安装jackson

com.fasterxml.jackson.core

jackson-core

2.5.3

com.fasterxml.jackson.core

jackson-annotations

2.5.3

com.fasterxml.jackson.core

jackson-databind

2.5.3

package com.viashare;

/**

* Created by Jeffy on 16/5/17.

*/

public class Student {

private String name;

private String classes;

private String sex;

public Student(String name, String classes, String sex) {

this.name = name;

this.classes = classes;

this.sex = sex;

}

public Student() {

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getClasses() {

return classes;

}

public void setClasses(String classes) {

this.classes = classes;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

@Override

public String toString() {

return "Student{" +

"name='" + name + '\'' +

", classes='" + classes + '\'' +

", sex='" + sex + '\'' +

'}';

}

}

常用的转换方法:

String 转成 java对象

File转成 java对象

InputStream转成 java对象

reader转成 java对象

byte转成 java对象

package com.viashare.jackson;

import com.fasterxml.jackson.databind.JsonNode;

import com.fasterxml.jackson.databind.ObjectMapper;

import com.viashare.Student;

import java.io.*;

import java.util.Map;

/**

* Created by Jeffy on 16/5/17.

*/

public class JacksonMain {

private static final String studentJson = "{\"name\":\"Jeffy\",\"classes\":\"三年级\",\"sex\":\"boy\"}";

public static void main(String[] args) throws IOException {

// Student student = new Student();

// student.setName("Jeffy");

// student.setSex("boy");

// student.setClasses("三年级");

// ObjectMapper objectMapper = new ObjectMapper();

// String jsonStudet = objectMapper.writeValueAsString(student);

//

//

// System.err.println(jsonStudet);

//read from string value to java Object

// readStringBytes();

//read from inputstream to java Object

// readFromInputStream();

// readFromReader();

readJsonToJsonNode();

}

/**

* read from string value to java Object

*

* @throws IOException

*/

private static final void readStringBytes() throws IOException {

ObjectMapper objectMapper = new ObjectMapper();

Student stu = objectMapper.readValue(studentJson.getBytes(), Student.class);

System.err.println(" readStringBytes " + stu.getName());

}

private static final void readFromInputStream() throws IOException {

ObjectMapper objectMapper = new ObjectMapper();

InputStream inputStream = new ByteArrayInputStream(studentJson.getBytes());

Map map = objectMapper.readValue(inputStream, Map.class);

System.err.println("readFromInputStream " + map.get("name"));

}

private static final void readFromReader() throws IOException {

ObjectMapper objectMapper = new ObjectMapper();

Reader reader = new StringReader(studentJson);

Student student = objectMapper.readValue(reader, Student.class);

System.err.println("readFromReader " + student.toString());

}

private static final void readFromString() throws IOException {

ObjectMapper objectMapper = new ObjectMapper();

Student student = objectMapper.readValue(studentJson, Student.class);

System.err.println("readFromString " + student.toString());

}

private static final void readFromFile() throws IOException {

ObjectMapper objectMapper = new ObjectMapper();

Student student = objectMapper.readValue(new File("/User/jeffy-pc/tes.json"), Student.class);

System.err.println("readFromFile " + student.toString());

}

private static final void readJsonToJsonNode() throws IOException {

ObjectMapper objectMapper = new ObjectMapper();

JsonNode jsonNode = objectMapper.readValue(studentJson, JsonNode.class);

JsonNode name = jsonNode.get("name");

String s = name.asText();

System.err.println(s);

}

}

将java对象装换成json

writeValue()

writeValueAsString()

writeValueAsBytes()

private static final void writeValueToFile() throws IOException {

ObjectMapper objectMapper = new ObjectMapper();

Student student = new Student();

student.setName("Jeffy");

student.setSex("boy");

student.setClasses("三年级");

objectMapper.writeValue(new FileOutputStream("/Users/jeffy-pc/Downloads/json.json"), student);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值