亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Jackson 解析 yaml 文件

使用 Jackson 解析 yaml 文件

呼啦一陣風 2021-12-22 19:31:58
我正在嘗試解析一個看起來像這樣的 yaml 文件(它是動態的,所以這只是一個例子):size: 4533vehicles:  '1':    vecUUID: fa461669-6b88-418d-8e7c-219e784a21fc    ownerUUID: da36067f-7af8-411b-b820-8e0709b4d64e    invString: |      rO0ABXcEAAAACXBwcHBwcHBwcA==  '2':    vecUUID: 3c192337-c9dd-45f0-92c0-545d42d5404d    ownerUUID: da36067f-7af8-411b-b820-8e0709b4d64e    invString: |      rO0ABXcEAAAACXBwcHBwcHBwcA==  '3':    vecUUID: d5df362b-c4f8-4d82-9e3a-c37fba1162f0    ownerUUID: fd44ce79-32b5-4080-9953-3d0f4d5399b1    invString: |      rO0ABXcEAAAAEnBwcHBwcHBwc3IAGm9yZy5idWtraXQudXRpbC5pby5XcmFwcGVy8lBH7PESbwUC      AAFMAANtYXB0AA9MamF2YS91dGlsL01hcDt4cHNyADVjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0      LkltbXV0YWJsZU1hcCRTZXJpYWxpemVkRm9ybQAAAAAAAAAAAgACWwAEa2V5c3QAE1tMamF2YS9s      YW5nL09iamVjdDtbAAZ2YWx1ZXNxAH4ABHhwdXIAE1tMamF2YS5sYW5nLk9iamVjdDuQzlifEHMp      bAIAAHhwAAAAA3QAAj09dAAEdHlwZXQABmFtb3VudHVxAH4ABgAAAAN0AB5vcmcuYnVra2l0Lmlu      dmVudG9yeS5JdGVtU3RhY2t0AAxHTEFTU19CT1RUTEVzcgARamF2YS5sYW5nLkludGVnZXIS4qCk      94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAADHBwcHBw      cHBwcA==我創建了 3 個類,Vehicle、VehicleInfo 和 MyYamlFile,如下所示。車輛public class Vehicle {  @JsonProperty  private List<VehicleInfo> info;  // getter methods ommitted}車輛信息public class VehicleInfo {    @JsonProperty    private String vecUUID;    @JsonProperty    private String ownerUUID;    @JsonProperty    private String invString;    // getter methods ommitted }我的Yaml文件public class MyYamlFile {    @JsonProperty    private List<Vehicle> vehicles;    @JsonProperty    private int size;    // getter methods ommitted}問題是當我運行它時,如下所示:public class Fix {    public static void main(String[] args) {        MyYamlFile file = readYaml(new File("E:\\dev\\FrihedenBilInventoryFix\\VehicleInventory.yaml"));        System.out.print("test: " + file.getSize());    }我收到一個錯誤com.fasterxml.jackson.databind.exc.MismatchedInputException:無法從 START_OBJECT 令牌中反序列化 java.util.ArrayList 的實例 [來源:(文件);行:3,列:3](通過參考鏈:MyYamlFile["vehicles"])知道為什么嗎?
查看完整描述

1 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

您正在嘗試將文件解析為List.

根據YAML 文檔

列表的所有成員都是以相同縮進級別開始的行,以“-”(破折號和空格)開頭:

而在您的情況下,應該是列表成員的所有項目都具有以下格式'1':,這是不正確的。


查看完整回答
反對 回復 2021-12-22
  • 1 回答
  • 0 關注
  • 371 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號