📜  java 解析 json - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:19.915000             🧑  作者: Mango

Java 解析 JSON

在Java中,我们可以使用内置的JSON解析器来解析JSON格式的数据。JSON(JavaScript Object Notation)是一种轻量级的数据格式,常用于传输数据和配置文件中,其最大的特点便是易于阅读和编写。

JSON与Java的对应关系
  • JSON对象: Map<String, Object>
  • JSON数组: List
  • JSON字符串: String
  • JSON数值: Number
  • JSON布尔值: Boolean
  • JSON空值: null
使用Jackson解析JSON

Jackson是一个流行的强大的JSON解析库,它可以将JSON转换为Java对象,并且也可以将Java对象转换为JSON。以下是Jackson的使用示例:

// 引入Jackson库
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.type.TypeReference;

// 定义JSON字符串
String jsonString = "{ \"name\" : \"张三\", \"age\" : 20 }";
ObjectMapper objectMapper = new ObjectMapper();

// 将JSON字符串转换为Map对象
Map<String, Object> map = objectMapper.readValue(jsonString, new TypeReference<Map<String, Object>>(){});
System.out.println(map);

// 将JSON字符串转换为Java对象
Person person = objectMapper.readValue(jsonString, Person.class);
System.out.println(person);

在上面的示例中,我们首先将JSON字符串转换为Map对象,然后将其转换为Java对象。请注意,在将JSON字符串转换为Java对象时,我们需要指定Java对象的类型,这里我们使用了一个自定义的Person类。

使用Gson解析JSON

Gson是另一个强大的JSON解析库,它可以将JSON转换为Java对象,并且也可以将Java对象转换为JSON。以下是Gson的使用示例:

// 引入Gson库
import com.google.gson.Gson;

// 定义JSON字符串
String jsonString = "{ \"name\" : \"张三\", \"age\" : 20 }";
Gson gson = new Gson();

// 将JSON字符串转换为Map对象
Map<String, Object> map = gson.fromJson(jsonString, new TypeToken<Map<String, Object>>(){}.getType());
System.out.println(map);

// 将JSON字符串转换为Java对象
Person person = gson.fromJson(jsonString, Person.class);
System.out.println(person);

在上面的示例中,我们首先将JSON字符串转换为Map对象,然后将其转换为Java对象。请注意,在将JSON字符串转换为Java对象时,我们需要指定Java对象的类型,这里我们使用了一个自定义的Person类。

总结

在Java中解析JSON格式的数据十分简单,我们可以使用Jackson或者Gson这样的强大的JSON解析库来完成。在使用这些库时,我们需要注意一些细节,比如JSON与Java的对应关系以及Java对象的类型等。