Luban的流式读取和多行结构的理解
最近有个随机技能词条的配置需求,非常复杂,需要有嵌套4层的List,形式如下
结果转表一直报错,问过之后理解了一个误区。
之前一直把多行结构理解为List适用,实际上List用多行结构只适用于列限定模式,如果是流式读取模式下,List不支持多行结构。
但是印象中确实有过多行结构的应用,询问之后才发现问题
如果表字段这里是list,那么多行结构第一行必须去找TestInfo这个Bean的类型字段,想把子嵌套结构换行配置的话,会导致多行结构找不到TestInfo类型信息而报错。
结论:
如果父结构是List,则子结构List只能老老实实用单行流式读取模式,如下:
保证换行之后是TestInfo结构信息,这样配置就没问题。
顺带一提的是流式读取模式下,一段结构的结束符}非常重要,尤其是嵌套多层的结构,需要用}来标记一段结构的结束,才能正确识别各层结构。