首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JAVA 8中将JSONObject转换为Yaml

在JAVA 8中将JSONObject转换为Yaml
EN

Stack Overflow用户
提问于 2022-09-29 07:45:18
回答 1查看 52关注 0票数 -1

我使用的是杰克逊-数据格式-yaml-2.7.6jar,它是旧版本,不能升级。

试图将JSONObject转换为yaml

下面是我的代码

代码语言:javascript
复制
    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); 
                     
    }

我得到了这样的输出

代码语言:javascript
复制
---
nlu:
- lookup: "Project"
  examples:
  - "hybrid"
  - "hybrid test"
  - "hybrid#!1"
  - "hyb_2"

我们期望的是一个接一个的管道:

代码语言:javascript
复制
---
nlu:
- lookup: "Project"
  examples: | //pipe here
  - "hybrid"
  - "hybrid test"
  - "hybrid#!1"
  - "hyb_2"

有没有其他方法不能使用新的jar?

下面是我输入的JSONObject

代码语言:javascript
复制
{
  "nlu": [
    {
      "lookup": "Project",
      "examples": [
        "hybrid",
        "hybrid test",
        "basic work management",
        "basictemplateprj",
        "seo a/b testing",
        "seotemplateprj",
        "marketing strategy",
        "marketingtemplateprj",
        "hybrid#!4"
      ]
    }
  ]
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-29 11:03:34

如果是JSON,那么欲望对象是什么?

答:

代码语言:javascript
复制
{
  "nlu": [
    {
      "examples": "- hybrid\n- \"hybrid test\"\n- \"hybrid#!1\"\n- hyb_2\n",
      "lookup": "Project"
    }
  ]
}

或B:

代码语言:javascript
复制
{
  "nlu": [
    {
      "examples": [
        "hybrid",
        "hybrid test",
        "hybrid#!1",
        "hyb_2"
      ],
      "lookup": "Project"
    }
  ]
}

根据所需的YAML文件,您需要第一个选项。这意味着您正在尝试序列化一个字符串列表。我建议将列表转换为对象,并尝试指定确切的序列化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73891980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档