参考文章:https://stackoverflow.com/questions/19333106/jsonmappingexception-out-of-start-array-token
先写下自己的json格式:
[{
"tag": "",
"metal": "W18K",
"lossRate": 0.1,
"weightMax": "2.5",
"weightMin": "1.5"
}, {
"tag": "",
"metal": "PT950",
"lossRate": 0.1,
"weightMax": "2.5",
"weightMin": "1.5"
}]
在使用Jackson转换这段json的时候报出JsonMappingException: out of START_ARRAY token,查找原因,最终把发生错误的原因定位到最外层的[ ]上,因为Jackson object mapper在把返回的json片段转换成对象时,需要的是Object{},而我返回的是Array[{ }]。
为了解决这个问题,在将json转换成对象时,使用Object[].class替换Object.class,即把json段转换成这个对象的数组,而不仅仅是一个对象。