com.fasterxml.jackson.databind.exc.MismatchedInput

如何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"

    ]

  }

}


繁花如伊
浏览 348回答 1
1回答

慕桂英546537

您需要启用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);    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java