昨天有个需求,将一个比较复杂的json对象转换成实体对象插入到数据库中,其中有两个属性比较特殊,一个是实体类,实体类中有个属性是double数组,另一个是二位数组对象,
。
由于在别的地方没有用到,所以定义了对应的两个内部类,第一个属性转换没有问题,但是第二个属性在转成实体类的时候会报错,,我以为是数组的问题,所以就换成双层集合List<List<Event>>,还是报错,然后我把实体类换成Map<String,Object>后List<List<Map<String,Object>>> 后不报错了。
开始我以为是阿里巴巴出的fastjson不能在多重数组中识别实体类的原因,但是在家的时候仔细考虑了一下,觉得不应该,所以今天来到公司试了一下,发现把Event换成外部类就可以了,用二维数组也可以。
原来在json转化实体类的时候是需要进行反射,但是内部类不是Class的对象,因此会报错!