将JSON转换为YAML。 将JSON解析为YAML

我正在使用配置文件,所以我需要将JSON转换为YAML。 例如,我有yaml文件:

{ "foo": "bar", "baz": [ "qux","quxx"], "corge": null, "grault": 1, "garply": true, "waldo": "false", "fred": "undefined", "emptyArray": [], "emptyObject": {}, "emptyString": "" } 

结果应该是yaml:

 foo: "bar" baz: - "qux" - "quxx" corge: null grault: 1 garply: true waldo: "false" fred: "undefined" emptyArray: [] emptyObject: {} emptyString: "" 

你可以帮帮我吗?

您可以使用Jackson中的两行代码将JSON转换为YAML:

 import java.io.IOException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.yaml.YAMLMapper; public class Library { public String asYaml(String jsonString) throws JsonProcessingException, IOException { // parse JSON JsonNode jsonNodeTree = new ObjectMapper().readTree(jsonString); // save it as YAML String jsonAsYaml = new YAMLMapper().writeValueAsString(jsonNodeTree); return jsonAsYaml; } } 

您需要向Jackson Core,DataBind和DataFormat YAML添加依赖项。 以下是Gradle的片段:

 compile 'com.fasterxml.jackson.core:jackson-core:2.8.6' compile 'com.fasterxml.jackson.core:jackson-databind:2.8.6' compile 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.8.6' 

http://jsontoyaml.com/

这个网站可以帮到你。 它可以用于Bash,JavaScript,JavaScript(仅限浏览器),Ruby,Python,Perl,Java。

如果您需要将JSONobject转换为yaml(字符串)。 你需要。 首先获取json字符串,然后映射,之后您可以转换为yaml。 这里的代码:

  // this is your json object JSONObject jsonobject = new JSONObject(map); // get json string String prettyJSONString = jsonobject.toString(4); // mapping Map map = (Map) yaml.load(prettyJSONString); // convert to yaml string (yaml formatted string) String output = yaml.dump(map2);