Java 将JSON转换为YAML。将JSON解析为YAML
我正在处理配置文件,因此需要将JSON转换为YAML。 例如,我有一个JSON文件:Java 将JSON转换为YAML。将JSON解析为YAML,java,json,parsing,yaml,Java,Json,Parsing,Yaml,我正在处理配置文件,因此需要将JSON转换为YAML。 例如,我有一个JSON文件: { "foo": "bar", "baz": [ "qux","quxx"], "corge": null, "grault": 1, "garply": true, "waldo": "false&
{
"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: ""
你能帮我吗?
这个网站可以帮助你。它可以用于
猛击,
JavaScript,
JavaScript(仅限浏览器),
红宝石,
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<String,Object> map = (Map<String, Object>) yaml.load(prettyJSONString);
// convert to yaml string (yaml formatted string)
String output = yaml.dump(map2);
//这是您的json对象
JSONObject JSONObject=新的JSONObject(映射);
//获取json字符串
字符串prettyJSONString=jsonobject.toString(4);
//映射
Map Map=(Map)yaml.load(prettyJSONString);
//转换为yaml字符串(yaml格式的字符串)
字符串输出=yaml.dump(map2);
您可以使用以下两行代码将JSON转换为YAML:
您需要向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'
这里是一个文件的一行程序,适用于粘贴bash脚本。这应该适用于大多数系统上的大多数默认python:
python -c 'import json; import yaml; print(yaml.dump(json.load(open("inputfile"))))'
我建议你考虑(免责声明-我是它的开发者)。它在JSON、YML和其他格式之间进行转换
您可以从或。函数yaml\u validate获取它{
python-c'import sys,yaml,json;yaml.safe_load(sys.stdin.read())'
}
函数yaml2json{
python-c'import sys,yaml,json;print(json.dumps(yaml.safe_load(sys.stdin.read()))
}
函数yaml2json_{
python-c'import sys,yaml,json;print(json.dumps(yaml.safe_load(sys.stdin.read()),indent=2,sort_keys=False))'
}
函数json_validate{
python-c'import sys,yaml,json;json.loads(sys.stdin.read())'
}
函数json2yaml{
python-c'import sys,yaml,json;print(yaml.dump(json.loads(sys.stdin.read()))
}
你能简单解释一下你的答案吗?在你们声明“jsonPrettyPrintString”的地方,我真的很抱歉反应太晚,我编辑了答案@请解释yaml变量。我应该在这里传递哪个映射?如何将json字符串转换为映射。我反对对此进行否决表决。问题中没有提到提供“编程方式”,所以这个答案也是有效的。@PasinduJay标记提供了必要的上下文-问题标记为Java。为我省去了很多麻烦。回答得很好。这个方法很有效,但将其写入文件会更好。根据“因此YAML可以被视为JSON的自然超集…”,以及“…每个JSON文件也是有效的YAML文件。”
python -c 'import json; import yaml; print(yaml.dump(json.load(open("inputfile"))))'