• Register
0 votes
216 views

Problem :

I want to POST the List of custom objects. My JSON in a request body is as below :

{
    "collection": [
        {
            "name": "Test ordert1",
            "detail": "ahk ksa"
        },
        {
            "name": "Test ordert2",
            "detail": "Fistekua"
        }
    ]
}

 

But I am facing below error:

“Can not deserialize instance of java.util.arraylist out of start_object token”

How can I fix the above error?

7 5 2
3,870 points

1 Answer

0 votes

Solution :

The problem is in the JSON - this cannot, by default, be the deserialized into the Collection because it's not actually the JSON Array - that would look like below:

[
    {
        "name": "Test ordert1",
        "detail": "ahk ksa"
    },
    {
        "name": "Test ordert2",
        "detail": "Fistekua"
    }
]

As you are not controlling a exact process of a deserialization (RestEasy does)

The first option - would be to just inject a JSON as the String and then take the control of a deserialization process as below:

Collection<COrder> readMyValues = new ObjectMapper().readMyValue(
    jsonAsMyString, new TypeReference<Collection<COrder>>() { }
);

You would loose the bit of a convenience of not having to do that by yourself, but you would easily sort out a problem.

Second option - If you cannot change a JSON - would be to construct the wrapper to fit a structure of the JSON input - and use that instead of the Collection<COrder>.

9 7 4
38,600 points

Related questions

0 votes
1 answer 3.6K views
3.6K views
Problem : I am trying to POST a List of custom objects but i am getting exception as below can not deserialize instance of java.util.arraylist out of start_object token
asked Oct 22, 2019 peterlaw 6.9k points
0 votes
1 answer 395 views
395 views
I am getting an issue where my deployable jar hits an exception : can not deserialize instance of java.lang.string out of start_object token
asked Oct 23, 2019 peterlaw 6.9k points
0 votes
1 answer 247 views
247 views
Problem : I am very new to Spring Boot. I am learning to write code in Spring Boot. I have written my first Spring Boot code as below @RequestMapping(value = "/bar/foo", method = RequestMethod.GET) public MyResponseEntity<foo> foo() { Foo model; ... return ... .core</groupId> <artifactId>jackson-databind</artifactId> <version>2.4.3</version> </dependency> How can I fix above Spring Boot exception?
asked Feb 29 mphil 2.3k points
0 votes
1 answer 4.5K views
4.5K views
Problem : I am running into the json parsing issue when using a ObjectMapper class from a com.fasterxml.jackson.databind package, and a error that I am getting is: com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of com.graybar.utilities.ups.beans. ... no control over a data I receive. Is there any annotation that needs to be added to be able to remove this issue?
asked Jan 18 jwilliam 3.9k points
1 vote
2 answers 23 views