jackson java object to json_Java中使用Jackson库将JSON转换为Object

ObjectMapper类是Jackson库中最重要的类。 我们可以使用ObjectMapper类的readValue()方法将JSON转换为Java Object,此方法从给定的JSON内容String反序列化JSON内容。

语法public  readValue(String content, JavaType valueType) throws IOException, JsonParseException, JsonMappingException

示例import java.io.*;

import java.util.*;

import com.fasterxml.jackson.core.*;

import com.fasterxml.jackson.databind.*;

public class JSONToJavaObjectTest {

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

Employee emp1 = new Employee();

emp1.setFirstName("Raja");

emp1.setLastName("Ramesh");

emp1.setId(115);

emp1.getTechnologies().add("Java");

emp1.getTechnologies().add("Selenium");

emp1.getTechnologies().add("Spark");

ObjectMapper mapper = new ObjectMapper();

String jsonStr = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp1);

System.out.println(jsonStr);

System.out.println("将JSON反序列化为对象:");

Employee emp2 = mapper.readValue(jsonStr, Employee.class);

System.out.println(emp2.getId() + " " + emp2.getFirstName() + " " + emp2.getLastName() + " " + emp2.getTechnologies());

}

}

// Employee类

class Employee {

private int id;

private String firstName;

private String lastName;

private List technologies = new ArrayList<>();

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getFirstName() {

return firstName;

}

public void setFirstName(String firstName) {

this.firstName = firstName;

}

public String getLastName() {

return lastName;

}

public void setLastName(String lastName) {

this.lastName = lastName;

}

public List getTechnologies() {

return technologies;

}

public void setTechnologies(List technologies) {

this.technologies = technologies;

}

}

输出结果{

"id" : 115,

"firstName" : "Raja",

"lastName" : "Ramesh",

"technologies" : [ "Java", "Selenium", "Spark" ]

}

将JSON反序列化为对象:

115 Raja Ramesh [Java, Selenium, Spark]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值