杰克逊映射器和Java映射
问题描述:
我试图将一个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”的问题。请任何帮助明白。
答
这不是有效的JSON。 JSON属性名称必须是字符串,并且字符串用双引号括起来。所以首先要解决这个问题。