Converta JSON para YAML. Processar JSON para YAML

Estou a trabalhar com ficheiros de configuração, por isso preciso de converter o JSON para o YAML. Por exemplo, eu tenho arquivo yaml:

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

o resultado deve ser yaml:

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

Author: eabyshev, 2014-10-07

3 answers

Podes converter o JSON para YAML it com duas linhas de código em Jackson.:
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;
    }

}

Terá de adicionar dependências ao núcleo de Jackson, DataBind e DATAFORMAT YAML. Abaixo está um excerto para o Grale:

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'
 15
Author: Tanya, 2017-01-27 17:24:25

Http://jsontoyaml.com/

Este site pode ajudá-lo. Pode ser utilizado em Bater, Forum, JavaScript (apenas navegador), Rubi, Jiboia, Perl, Hipoteca..
 0
Author: bystander, 2014-10-07 12:32:28

Se precisar de converter o JSONobject para yaml (texto). precisas. Em primeiro lugar obter cadeia de json, em seguida, mapa, depois que você pode converter para yaml. Aqui está o código:

  // 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);
 0
Author: eabyshev, 2016-03-15 13:48:43