文章目录
- 概要
- ObjectMapper常用方法
- 将Java对象转换为JSON字符串
- 从JSON字符串转换为Java对象
- 读取JSON文件并解析为树结构
概要
ObjectMapper
是 Jackson 数据处理库的核心类,用于将 Java 对象转换为 JSON,以及将 JSON 转换为 Java 对象。
ObjectMapper常用方法
方法 | 作用 |
---|---|
writeValue(File, Object) | 将 Java 对象转换为 JSON,并写入到文件中。 |
writeValue(OutputStream, Object) | 将 Java 对象转换为 JSON,并写入到输出流中。 |
writeValueAsString(Object) | 将 Java 对象转换为 JSON 字符串。 |
writeValueAsBytes(Object) | 将 Java 对象转换为 JSON 字节数组。 |
readValue(File, Class<T>) | 从文件中读取 JSON,并将其转换为 Java 对象。 |
readValue(URL, Class<T>) | 从 URL 中读取 JSON,并将其转换为 Java 对象。 |
readValue(String, Class<T>) | 从字符串中读取 JSON,并将其转换为 Java 对象。 |
readValue(byte[], Class<T>) | 从字节数组中读取 JSON,并将其转换为 Java 对象。 |
treeToValue(TreeNode, Class<T>) | 将 JSON 树模型转换为 Java 对象。 |
valueToTree(Object) | 将 Java 对象转换为 JSON 树模型。 |
convertValue(Object, Class<T>) | 将一个类型的对象转换为另一个类型的对象。 |
readTree(File) | 从文件中读取 JSON,并解析为树结构(JsonNode 对象)。 |
readTree(String) | 从字符串中读取 JSON,并解析为树结构(JsonNode 对象)。 |
readTree(InputStream) | 从输入流中读取 JSON,并解析为树结构(JsonNode 对象)。 |
readTree(byte[]) | 从字节数组中读取 JSON,并解析为树结构(JsonNode 对象)。 |
createObjectNode() | 创建一个空的 ObjectNode 对象,用于构建 JSON 对象。 |
createArrayNode() | 创建一个空的 ArrayNode 对象,用于构建 JSON 数组。 |
configure(Feature, boolean) | 配置 ObjectMapper 的特定功能,例如是否缩进输出的 JSON,是否允许单引号,是否允许注释等。 |
setSerializationInclusion(JsonInclude.Include) | 设置序列化时包含属性的规则,例如仅包含非空属性。 |
registerModule(Module) | 注册一个自定义模块,以添加新的序列化和反序列化功能。 |
将Java对象转换为JSON字符串
ObjectMapper objectMapper = new ObjectMapper();
MyClass myObject = new MyClass();
String jsonString = objectMapper.writeValueAsString(myObject);
System.out.println(jsonString);
从JSON字符串转换为Java对象
String jsonString = "{\"name\":\"John\", \"age\":30}";
ObjectMapper objectMapper = new ObjectMapper();
MyClass myObject = objectMapper.readValue(jsonString, MyClass.class);
System.out.println(myObject.getName());
读取JSON文件并解析为树结构
File jsonFile = new File("data.json");
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(jsonFile);
System.out.println(rootNode.path("name").asText());
❤觉得有用的可以留个关注❤