Trong bài viết trước, mình đã giới thiệu với các bạn làm thế nào để chuyển đổi đối tượng Java sang chuỗi JSON sử dụng thư viện Jackson. Vậy trong trường hợp chúng ta muốn làm ngược lại, tức là chuyển đổi chuỗi JSON sang đối tượng Java, thì sao? Trong bài viết này, chúng ta sẽ cùng tìm hiểu nhé các bạn!
Để làm ví dụ, mình cũng có một project tương tự như bài viết trước như sau:
Jackson dependency:
1 2 3 4 5 |
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.10.0</version> </dependency> |
Class Application dùng để chạy ví dụ:
1 2 3 4 5 6 7 8 |
package com.huongdanjava.jackson; public class Application { public static void main(String[] args) { } } |
Và class Student chính là đối tượng sẽ lưu giữ thông tin được chuyển đổi từ chuỗi JSON qua.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
package com.huongdanjava.jackson; public class Student { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + "]"; } } |
Tất nhiên, chúng ta cũng có chuỗi JSON như sau:
1 |
{"name":"Khanh","age":30} |
OK, giờ chúng ta đã có thể bắt đầu nhiệm vụ chính của mình rồi!
Đầu tiên, chúng ta cũng sẽ tạo mới đối tượng ObjectMapper của Jackson:
1 |
ObjectMapper om = new ObjectMapper(); |
Và sử dụng phương thức readValue() của đối tượng này để chyển đổi chuỗi JSON sang đối tượng Java:
1 2 |
Student obj = om.readValue(json, Student.class); System.out.println(json); |
Kết quả: