从JSON读取整数数组,使用杰克逊从A类读取B类

时间:2016-05-12 19:13:51

标签: json jackson

我有以下类结构:

class A {
    int element1;
    B b; 
}

class B {
    Integer[] element2;
}

JSON文件:

{
    "element1" : 111,
    "b" : {
        "element2":[
            {4457551},{4457552}
        ]
     }
}

在另一个类中,我正在读取JSONReading值:

private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();


protected <T> T loadConfig("pathOfJson.json", A.class) throws IOException {
    try(InputStream inputStream1 =
    this.getClass().getClassLoader().getResourceAsStream(path);) {
        return OBJECT_MAPPER.readValue(inputStream1, type);
    }
}

但是,当我运行代码时,我得到以下异常:

com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of int out of START_OBJECT token

我使用正确的格式来解析JSON吗?或者我是否需要告诉如何解析B类?如果是的话,怎么办呢?

1 个答案:

答案 0 :(得分:0)

因此,JSON文件格式的简单更改有效!

{  
    "element1":111"
    "b":{  
        "element2":[  
            4457551,
            4457552
        ]
    }
}