json與yaml是目前比較主流的檔案格式,但是yaml自己手寫容易出錯,使用工具更靠譜
1. utool安裝ctool
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yNzATO0YjMyUDO1kTM2YTMvwVMzgDMyIDMy8CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
utool是一個工具集軟體,可以提高開發效率
2. 線上轉換工具
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);
}