2012-02-07 132 views
0

我试图将一个JSON文件映射到一个具有杰克逊库的对象时出现问题,我尝试了很多东西,但它仍然无法工作。杰克逊映射器和Java映射

这是我的JSON文件:

{ 
2: { 
    1: { 
     cuota: "25092.87", 
     var12m: "-4.01", 
     var1m: "4.23" 
    }, 
    2: { 
     cuota: "23319.83", 
     var12m: "-0.63", 
     var1m: "3.33" 
    }, 
    3: { 
     .... 
    } 
}, 
3: { ..... } 

我在Java对象是这样的:

public class AfpsDetalles { 

private String key; 
private HashMap<Integer, Fondos> fondos = new HashMap<Integer, Fondos>(); 

public static class Fondos{ 
    private float cuota; 
    private float var12m; 
    private float var1m; 
} 
} 

当我映射对象我用这个:

HashMap<Integer,AfpsDetalles> afpDetalle = mapper.readValue(JSON FILE, new TypeReference<HashMap<Integer,AfpsDetalles>>() {}); 

杰克逊错误说这是第一个“1”的问题。请任何帮助明白。

回答

0

这不是有效的JSON。 JSON属性名称必须是字符串,并且字符串用双引号括起来。所以首先要解决这个问题。