当前位置: 首页 > 知识库问答 >
问题:

如何用java jackson库编写json消息

孔华池
2023-03-14

我想写以下类型字符串到yaml文件,path是键和'abc'、'def'、'ghi'是映射到同一个键的多个值。

路径:-abc-def-ghi

共有1个答案

苏骏
2023-03-14

首先,您需要一个paths.class

public class Paths {
private List<String> paths;

public Paths(List<String> paths) {
    super();
    this.paths = paths;
}

public Paths() {
    super();
}

public List<String> getPaths() {
    return paths;
}

public void setPaths(List<String> paths) {
    this.paths = paths;
}

@Override
public String toString() {
    return "Paths [pathList=" + paths + "]";
}

}

然后将其写入yaml文件,如下所示:

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator.Feature;

public class App
{
    public static void main(String[] args) 
    {
        ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
        mapper.findAndRegisterModules();
        

        
        //Writing Values to YAML
        
        //turning off the three Dashes
        mapper = new ObjectMapper(new YAMLFactory().disable(Feature.WRITE_DOC_START_MARKER));
        
        List<String> values = new ArrayList<>();
        values.add("abc");
        values.add("def");
        values.add("ghi");
        
        Paths paths = new Paths();
        paths.setPaths(values);
        
        try {
            mapper.writeValue(new File("src/main/resources/pathInput.yaml"), paths);
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        //Reading Values from YAML
        try {
            Paths path = mapper.readValue(new File("src/main/resources/pathInput.yaml"), Paths.class);
            System.out.println(path.getPaths().get(1));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
}
 paths:
- "abc"
- "def"
- "ghi"
 类似资料:
  • JSON 简介 在这一章,我们将开发一个小而完整的 Haskell 库,这个库用于处理和序列化 JSON 数据。 JSON (JavaScript 对象符号)是一种小型、表示简单、便于存储和发送的语言。它通常用于从 web 服务向基于浏览器的 JavaScript 程序传送数据。JSON 的格式由 http://cnhaskell.com/chp/www.json.org 描述,而细节由 RFC

  • 我试图使用Netty构建一个简单的TCP客户端-服务器应用程序。开始时,我通过SocketChannel从客户端发送消息,方式如下: 所有的消息都被服务器收到了,但是当我想把响应写回客户端时,我发现为了得到客户端的响应,它需要通过引导程序发送消息,并定义将读取响应的Inoundhandler(也许有人知道另一种方法?)当我试图通过引导程序发送消息时,我使用以下代码: 但是通过这种方式,服务器根本没

  • 问题内容: 我正在尝试编写XSLT以将特定的网页转换为JSON。以下代码演示了Ruby如何进行此转换,但是XSLT不会生成有效的JSON(数组中有太多逗号)-有人知道如何编写XSLT来生成有效的JSON吗? 问题答案: 从中的行省略逗号,然后添加: 这将为除最后一项以外的每一项添加逗号。

  • 问题内容: 例如,我有一个名为的文件。其内容是: 所以在这里我想为每个人添加图片链接 如何编写脚本以将密钥添加到每个人并添加person.name.lowercase +“ .png”作为值? 在此过程结束时,将对people.json进行编辑并将其保存到硬件中,而不是内存中。 非常感谢你。 问题答案: 这是一个完整的程序,使用JavaScript(使用node.js),可以完成所需的工作: 作为

  • 问题内容: 我正在使用Json.Net将XML序列化为Json。当我将序列化的字符串写入文件时,所有内容都在一行中。如何获得具有通常的制表符和缩进的Json实际外观? 问题答案: 将JSON writer 属性设置为: 该方法还具有需要枚举的重载(感谢John Flatness)。 文档: 序列化对象