我正在尝试解析一个我没有创建的 yaml 文件,以及一个我无法编辑的文件。文件的结构是
681:
activities:
copying:
time: 480
manufacturing:
materials:
- quantity: 86
typeID: 38
products:
- quantity: 1
typeID: 165
time: 600
research_material:
time: 210
research_time:
time: 210
blueprintTypeID: 681
maxProductionLimit: 300
该文件的长度约为 144,000 行,每行都遵循上述结构。我遇到的问题是,因为它使用反射被解析成 POJO,681:
所以结构中的第一个键(在这种情况下)是一个整数。Java 中的字段不能仅命名为数值,因此当解析发生时,我收到以下错误:
Exception in thread "main" Can't construct a java object for tag:yaml.org,2002:org.zephyrion.eve.assetmanager.Blueprint; exception=Cannot create property=682 for JavaBean=org.zephyrion.eve.assetmanager.Blueprint@2446bd09; No JavaBean properties found in org.zephyrion.eve.assetmanager.Blueprint
in 'reader', line 1, column 1:
681:
^
有没有办法防止snakeyaml 将值解析为整数,而是将其解析为字符串?我尝试过使用自定义解析器,并一起禁用整数解析,但这仍然不起作用。