javajsonparsingyaml

Convert JSON to YAML. Parsing JSON to YAML


I'm working with configuration files so I need to convert JSON to YAML. For example I have this JSON file:

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

The result should be YAML:

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

Could you help me?


Solution

  • If you need convert JSONobject to yaml (string). you need. Firstly get json string, then map, after that you can convert to yaml. Here the code:

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