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?
2
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
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