杰克逊映射器和Java映射

时间:2012-02-07 12:30:15

标签: java android json jackson

当我尝试使用杰克逊图书馆将JSON文件映射到对象时,我遇到了一个问题,我尝试过很多东西,但它仍然不起作用。

这是我的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中的My Object是这样的:

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”的问题。请提供任何帮助。

1 个答案:

答案 0 :(得分:0)

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