当java中缺少方括号时,将json String转换为object

时间:2014-02-12 15:07:09

标签: json spring jackson

我正在尝试解析下面提到的json字符串,

"inventoryItems":{"fare":"299.00","ladiesSeat":"false","passenger":{"address":"xxx,Bangalore","age":"26","email":"xxxxxxxxx@gmial.com","gender":"MALE","idNumber":"123ABC","idType":"PAN_CARD","mobile":"9999999999","name":"abcd","primary":"true","title":"Mr"},"seatName":"27"}

结构是 inventoryItems ,这是数组,里面有一个乘客 * 数组 *,问题是没有方括号,因为数组在inventoryItems和passenger 中只包含一个值。这种格式错误的数据来自第三方服务器,所以我无法纠正它们。将此转换为对象杰克逊图书馆会引发一种感觉。

我的问题是如何使用上面的方括号形成一个合适的json字符串,以便jackson能够将其转换为java对象?

1 个答案:

答案 0 :(得分:1)

DeserializationFeature ACCEPT_SINGLE_VALUE_AS_ARRAY应解决您的问题(通过[ObjectMapper.enable(...))而无需转换字符串。