我只想使用 Java 将一个包含 yaml 的字符串转换为另一个包含相应转换后的 json 的字符串。
例如假设我有这个yaml的内容
---
paper:
uuid: 8a8cbf60-e067-11e3-8b68-0800200c9a66
name: On formally undecidable propositions of Principia Mathematica and related systems I.
author: Kurt Gödel.
tags:
- tag:
uuid: 98fb0d90-e067-11e3-8b68-0800200c9a66
name: Mathematics
- tag:
uuid: 3f25f680-e068-11e3-8b68-0800200c9a66
name: Logic
在名为 yamlDoc 的字符串中:
String yamlDoc = "---\npaper:\n uuid: 8a... etc...";
我想要一些方法可以将 yaml 字符串转换为另一个具有相应 json 的字符串,即以下代码
String yamlDoc = "---\npaper:\n uuid: 8a... etc...";
String json = convertToJson(yamlDoc); // I want this method
System.out.println(json);
应该打印:
{
"paper": {
"uuid": "8a8cbf60-e067-11e3-8b68-0800200c9a66",
"name": "On formally undecidable propositions of Principia Mathematica and related systems I.",
"author": "Kurt Gödel."
},
"tags": [
{
"tag": {
"uuid": "98fb0d90-e067-11e3-8b68-0800200c9a66",
"name": "Mathematics"
}
},
{
"tag": {
"uuid": "3f25f680-e068-11e3-8b68-0800200c9a66",
"name": "Logic"
}
}
]
}
我想知道是否存在类似的东西转换为Json()本例中的方法。
我尝试使用以下方法实现此目的蛇YAML https://code.google.com/p/snakeyaml/,所以这段代码
Yaml yaml = new Yaml();
Map<String,Object> map = (Map<String, Object>) yaml.load(yamlDoc);
构造一个包含解析的 YAML 结构的映射(使用嵌套映射)。然后,如果有一个解析器可以将映射转换为 json 字符串,它将解决我的问题,但我也没有找到类似的东西。
任何回应将不胜感激。