0
点赞
收藏
分享

微信扫一扫

yaml 内容的字符串 转成Java 对象

Yaml转Java对象

介绍

YAML(YAML Ain't Markup Language)是一种人类可读的数据序列化格式,通常用于配置文件、数据传输和存储。在Java中,我们可以使用Jackson库来将YAML字符串转换为Java对象。

本文将介绍如何使用Jackson库将YAML内容的字符串转换为Java对象,并提供相关的代码示例。

准备工作

在开始之前,我们需要在项目中引入Jackson库的相关依赖。

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>2.12.3</version>
</dependency>

示例

假设我们有以下YAML内容的字符串:

person:
name: John Doe
age: 30

我们希望将这个YAML字符串转换为以下Java对象:

public class Person {
private String name;
private int age;

// getters and setters
}

步骤 1:创建YAML字符串

首先,我们需要将YAML内容的字符串存储到一个变量中:

String yamlString = person:\n  name: John Doe\n  age: 30;

步骤 2:创建ObjectMapper对象

接下来,我们需要创建一个ObjectMapper对象,它是Jackson库中用于序列化和反序列化的核心类:

ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());

步骤 3:将YAML字符串转换为Java对象

现在,我们可以使用ObjectMapper的readValue()方法将YAML字符串转换为Java对象:

Person person = objectMapper.readValue(yamlString, Person.class);

步骤 4:访问Java对象的属性

我们可以通过访问Person对象的属性来获取存储在YAML字符串中的值:

String name = person.getName(); // John Doe
int age = person.getAge(); // 30

完整示例

下面是一个完整的示例,演示了如何将YAML内容的字符串转换为Java对象:

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;

public class YamlToJavaExample {
public static void main(String[] args) throws Exception {
String yamlString = person:\n name: John Doe\n age: 30;

ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());

Person person = objectMapper.readValue(yamlString, Person.class);

String name = person.getName(); // John Doe
int age = person.getAge(); // 30

System.out.println(Name: + name);
System.out.println(Age: + age);
}
}

class Person {
private String name;
private int age;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
}

结论

通过使用Jackson库,我们可以方便地将YAML内容的字符串转换为Java对象。这使得我们可以轻松地读取和操作YAML格式的配置文件、数据传输和存储。

希望本文提供的示例代码和说明能够帮助你了解如何在Java中将YAML转换为Java对象。

举报

相关推荐

0 条评论