使用以整数为关键字的snakeyaml解析yaml文件

时间:2014-11-01 09:26:37

标签: java yaml snakeyaml

我正在尝试解析一个我没有创建的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将值解析为整数,而是将其解析为字符串?我尝试过使用自定义解析器,并且一起禁用整数解析,但仍然无效。

0 个答案:

没有答案