为了账号安全,请及时绑定邮箱和手机立即绑定

com.fasterxml.jackson.databind.exc.MismatchedInput

com.fasterxml.jackson.databind.exc.MismatchedInput

繁花如伊 2023-12-13 16:35:23
如何JSON使用阅读下面的内容Jackson ObjectMapper?我已经开发了代码,但出现以下错误。com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList` out of START_OBJECT token at [Source: (File); line: 7, column: 19] (through reference chain: com.example.demo.resources.Orgnization["secondaryIds"])JSON{  "id": "100000",  "name": "ABC",  "keyAccount": false,  "phone": "1111111",  "phoneExtn": "11",  "secondaryIds": {    "ROP": [      "700010015",      "454546767",      "747485968",      "343434343"    ],    "AHID": [      "01122006",      "03112001"    ]  }}
查看完整描述

1 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

您需要启用ACCEPT_SINGLE_VALUE_AS_ARRAY功能。可能在POJO你有一个List但是当有效负载中只有一个元素时List JSON生成的没有数组括号。

import com.fasterxml.jackson.annotation.JsonProperty;

import com.fasterxml.jackson.databind.DeserializationFeature;

import com.fasterxml.jackson.databind.ObjectMapper;


import java.io.File;

import java.util.List;


public class JsonApp {


    public static void main(String[] args) throws Exception {

        File jsonFile = new File("./src/main/resources/test.json");


        ObjectMapper mapper = new ObjectMapper();

        mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);


        Orgnization root = mapper.readValue(jsonFile, Orgnization.class);

        System.out.println(root);

    }

}


查看完整回答
反对 回复 2023-12-13
  • 1 回答
  • 0 关注
  • 347 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信