1.依赖导入
<dependencies>
<!-- SnakeYAML for parsing YAML -->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.30</version>
</dependency>
<!-- Jackson for converting to JSON -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
</dependency>
</dependencies>
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.yaml.snakeyaml.Yaml;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
public class YamlToJsonConverter {
public static void main(String[] args) {
String yamlFilePath = "path/to/your/file.yml"; // 替换为你的YAML文件路径
String jsonString = convertYamlToJson(yamlFilePath);
System.out.println(jsonString);
}
public static String convertYamlToJson(String yamlFilePath) {
Yaml yaml = new Yaml();
ObjectMapper jsonMapper = new ObjectMapper();
try (InputStream in = new FileInputStream(yamlFilePath)) {
Map<String, Object> yamlMap = yaml.load(in);
ObjectNode objectNode = jsonMapper.valueToTree(yamlMap);
return jsonMapper.writerWithDefaultPrettyPrinter().writeValueAsString(objectNode);
} catch (IOException e) {
throw new RuntimeException("Error reading or parsing YAML file", e);
}
}
}