天天看點

json與yaml互轉

json與yaml是目前比較主流的檔案格式,但是yaml自己手寫容易出錯,使用工具更靠譜

1. utool安裝ctool

json與yaml互轉

utool是一個工具集軟體,可以提高開發效率

2. 線上轉換工具

json與yaml互轉

3. 手動寫程式轉換了

<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-yaml</artifactId>
    <version>2.13.3</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.3</version>
</dependency>
           
/**
     * json字元串轉yaml
     * @param json
     * @return
     * @throws Exception
     */
    public static String json2Yaml(String json) throws Exception {
        final JsonNode jsonNode = new ObjectMapper().readTree(json);
        String yaml = new YAMLMapper().writeValueAsString(jsonNode);
        return yaml.replace("---", "");
    }

    /**
     * yaml轉json
     * @param yamlStr yaml字元串
     * @return json
     * @throws Exception
     */
    public static String yaml2Json(String yamlStr) throws Exception {
        ObjectMapper om = new ObjectMapper();
        ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
        final Object obj = objectMapper.readValue(yamlStr, Object.class);
        return om.writeValueAsString(obj);
    }