【发布时间】:2020-07-09 06:02:20
【问题描述】:
我正在尝试将 yml 文件解析为 java 对象,同时使用对象映射器解析 yml 文件低于异常。
线程“main”中的异常 com.fasterxml.jackson.dataformat.yaml.JacksonYAMLParseException: java.io.CharConversionException:无效的 UTF-8 起始字节 0x80(在 char #158, byte #-1) at [Source: (File);行:1,列:1] 在 com.fasterxml.jackson.dataformat.yaml.YAMLParser.nextToken(YAMLParser.java:361) 在 com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4620) 在 com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4469) 在 com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3299)
我的java代码
ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
XmlConverterProp prop = objectMapper.readValue(configFile, XmlConverterProp.class);
yml 文件
dateFormat: "MM/dd/yyyy=Billing_Date"
lineItemRowNodeName: row
lineItemsNodeName: Mode_Items
removeValueChars: "Net_Amount=$,Unit_Price=Rs.,Item_Amount=€,Gross_Amount=$"
requiredHeaderTags: "cc_BatchDetails,Invoice_Number,Invoice_Date,PO_Number,Document_Type,Vendor_Name,Tax_Amount,Net_Amount,Invoice_Amount,Currency,Gross_Amount,cc_ProfileName,Remit_To_Address_1"
requiredLineTags: "Item_Code,Item_Description,Quantity,Unit_Price,Item_Amount"
【问题讨论】:
-
Hex 80 可能是欧元符号。这就是在某些非 utf8 编码中的含义。
标签: java utf-8 yaml snakeyaml jackson-dataformat-yaml