• Register
0 votes
358 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

Please log in or register to answer this question.

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 6.1K views
6.1K 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 20 views
20 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 Mar 6 Wafa Abu Yousef 6.1k points
0 votes
1 answer 63 views
0 votes
1 answer 602 views
602 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 669 views
669 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, 2020 mphil 2.3k points
0 votes
1 answer 452 views
0 votes
1 answer 42 views
42 views
Problem : Is there any annotation that needs to be added to be able to remove this issue: No string-argument constructor/factory method to deserialize from string value.
asked Mar 6 Wafa Abu Yousef 6.1k points
0 votes
1 answer 7.6K views
7.6K 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, 2020 jwilliam 3.9k points
0 votes
1 answer 37 views
37 views
Problem: messagebodywriter not found for media type=application/json.
asked Feb 17 charles mathews 5.5k points
0 votes
1 answer 15 views
15 views
Problem http status 403 - expected csrf token not found. has your session expired?
asked Feb 9 charles mathews 5.5k points