Java JSON解析
发表于|更新于
|阅读量:
Android中自带有json处理的库,同时有很多库能方便的处理Json. 并且相关文章也很多,是一个非常基础的功能。
但是Java处理Json,介绍的较少,这里介绍一下Java中处理Json.
Java中的JSON处理库
在Java中,处理JSON数据的常用库包括:
Jackson:功能强大,支持序列化/反序列化。
Gson:轻量级,简单易用。
org.json:基础功能库,处理JSON数据直接而高效。
以下是使用Jackson库处理JSON数据的基本步骤:
使用Jackson解析JSON
添加依赖
首先,确保你的项目中包含了Jackson的依赖。以下是一个使用Maven管理项目依赖的示例:
com.fasterxml.jackson.core
jackson-databind
2.13.3
创建JSON字符串
假设你有一个JSON字符串如下:
{
“name”: “John”,
“age”: 30,
“isStudent”: false
}
使用ObjectMapper解析JSON
Jackson的核心类是ObjectMapper,它可以将JSON字符串转换为Java对象,或者将Java对象转换为JSON字符串。
以下是一个示例代码,演示如何使用Jackson解析上述JSON字符串:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonParsingExample { public static void main(String[] args) throws Exception { String json = "{\"name\":\"John\",\"age\":30,\"isStudent\":false}"; ObjectMapper objectMapper = new ObjectMapper(); Person person = objectMapper.readValue(json, Person.class); System.out.println("Name: " + person.getName()); System.out.println("Age: " + person.getAge()); System.out.println("Is Student: " + person.isStudent()); } }
class Person { private String name; private int age; private boolean isStudent;
}
|
在上述代码中,我们首先定义了一个Person类,其中包含与JSON字符串中相同的字段。然后,我们使用ObjectMapper的readValue方法将JSON字符串转换为Person对象。
使用Jackson生成JSON
与解析JSON类似,使用Jackson生成JSON数据也非常简单。以下是一个示例代码,演示如何将Java对象转换为JSON字符串:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonGenerationExample { public static void main(String[] args) throws Exception { Person person = new Person(); person.setName("John"); person.setAge(30); person.setStudent(false);
ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writeValueAsString(person); System.out.println(json); } }
class Person { private String name; private int age; private boolean isStudent;
}
|
在上述代码中,我们首先创建了一个Person对象,并设置了其属性。然后,我们使用ObjectMapper的writeValueAsString方法将Person对象转换为JSON字符串。