66

これは私のJSON配列です:-

[ 
    {
        "firstName" : "abc",
        "lastName" : "xyz"
    }, 
    {
        "firstName" : "pqr",
        "lastName" : "str"
    } 
]

これは String オブジェクトにあります。これを Java オブジェクトに変換し、Java オブジェクトのリストに格納します。例: Student オブジェクト内。以下のコードを使用して、それを Java オブジェクトのリストに変換しています: -

ObjectMapper mapper = new ObjectMapper();
StudentList studentList = mapper.readValue(jsonString, StudentList.class);

私のリストクラスは次のとおりです:-

public class StudentList {

    private List<Student> participantList = new ArrayList<Student>();

    //getters and setters
}

私の学生のオブジェクトは次のとおりです: -

class Student {

    String firstName;
    String lastName;

    //getters and setters
}

ここで何か不足していますか?私は例外を下回っています: -

Exception : com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of com.aa.Student out of START_ARRAY token
4

9 に答える 9

6

まだ答えを探している人のために:

1.Gradlejackson-databindや Maven などのビルド ツールにライブラリを追加します。

2.あなたのコードで:

ObjectMapper mapper = new ObjectMapper();

List<Student> studentList = new ArrayList<>();

studentList = Arrays.asList(mapper.readValue(jsonStringArray, Student[].class));
于 2020-03-01T12:10:43.547 に答える