我使用的是杰克逊-数据格式-yaml-2.7.6jar,它是旧版本,不能升级。
试图将JSONObject转换为yaml
下面是我的代码
private static String processFilesForYml(JSONObject a_Obj) throws Exception
{
ObjectMapper objectMapper = new ObjectMapper();
// Read file as JsonNode
JsonNode jsonNode = objectMapper.readTree(a_Obj.toString());
// Convert it into YAML String
return new YAMLMapper().writeValueAsString(jsonNode);
}我得到了这样的输出
---
nlu:
- lookup: "Project"
examples:
- "hybrid"
- "hybrid test"
- "hybrid#!1"
- "hyb_2"我们期望的是一个接一个的管道:
---
nlu:
- lookup: "Project"
examples: | //pipe here
- "hybrid"
- "hybrid test"
- "hybrid#!1"
- "hyb_2"有没有其他方法不能使用新的jar?
下面是我输入的JSONObject
{
"nlu": [
{
"lookup": "Project",
"examples": [
"hybrid",
"hybrid test",
"basic work management",
"basictemplateprj",
"seo a/b testing",
"seotemplateprj",
"marketing strategy",
"marketingtemplateprj",
"hybrid#!4"
]
}
]
}发布于 2022-09-29 11:03:34
如果是JSON,那么欲望对象是什么?
答:
{
"nlu": [
{
"examples": "- hybrid\n- \"hybrid test\"\n- \"hybrid#!1\"\n- hyb_2\n",
"lookup": "Project"
}
]
}或B:
{
"nlu": [
{
"examples": [
"hybrid",
"hybrid test",
"hybrid#!1",
"hyb_2"
],
"lookup": "Project"
}
]
}根据所需的YAML文件,您需要第一个选项。这意味着您正在尝试序列化一个字符串列表。我建议将列表转换为对象,并尝试指定确切的序列化。
https://stackoverflow.com/questions/73891980
复制相似问题