VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

Học JSON

JSON là gì? Cú pháp JSON Kiểu dữ liệu trong JSON Đối tượng JSON Mảng (Array) trong JSON Comment trong JSON

Ví Dụ JSON

Ví dụ JSON với PHP Ví dụ JSON với Java - json.simple Ví dụ JSON với Java - Jackson Ví dụ JSON với AJAX
1 / 3
❮ ❯

Ví dụ JSON với Java - Jackson


Ví dụ JSON với Java – json.simple
Ví dụ JSON với AJAX

Bài trước bạn đã biết cách sử dụng thư viện json.simple để đọc và ghi dữ liệu JSON trong Java. Bài này sẽ giới thiệu bạn một cách phổ biến khác để làm việc với chuỗi JSON trong Java, đó là sử dụng các thư viện Jackson. Sau đây là cài đặt và ví dụ JSON với Java.


Nội dung chính

  • Cài đặt thư viện Jackson
  • Ví dụ chuyển đổi đối tượng thành chuỗi JSON trong Java
  • Ví dụ chuyển đổi chuỗi JSON thành đối tượng trong Java
  • Ví dụ đọc chuỗi JSON trong java sử dụng phương thức ObjectMapper.readTree()

Cài đặt thư viện Jackson

1. Tải xuống các thư viện sau:

  • jackson-annotations-2.9.0.jar
  • jackson-core-2.9.4.jar
  • jackson-databind-2.9.4.jar

Hoặc:

2. Thêm phụ thuộc sau vào file pom.xml của Maven project.

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.4</version>
</dependency>


Ví dụ chuyển đổi đối tượng thành chuỗi JSON trong Java

File: Employee.java

package vn.viettuts.json;

import java.math.BigDecimal;
import java.util.List;

public class Employee {
    private String name;
    private int age;
    private BigDecimal salary;
    private List<String> skills;

    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;
    }

    public BigDecimal getSalary() {
        return salary;
    }

    public void setSalary(BigDecimal salary) {
        this.salary = salary;
    }

    public List<String> getSkills() {
        return skills;
    }

    public void setSkills(List<String> skills) {
        this.skills = skills;
    }
}

File: Jackson1Example.java

package vn.viettuts.json;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class Jackson1Example {
    public static void main(String[] args) {
        convertObjectToJson();
    }

    private static String convertObjectToJson() {
        ObjectMapper mapper = new ObjectMapper();
        String jsonInString = null;
        Employee emp = createDummyObject();

        try {
            System.out.println("Chuyển đổi đối tượng thành chuỗi JSON:");
            jsonInString = mapper.writeValueAsString(emp);
            System.out.println(jsonInString);
            System.out.println();

            System.out.println("Chuyển đổi đối tượng thành chuỗi JSON với Format:");
            jsonInString = mapper.writerWithDefaultPrettyPrinter()
                    .writeValueAsString(emp);
            System.out.println(jsonInString);

        } catch (JsonGenerationException e) {
            e.printStackTrace();
        } catch (JsonMappingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return jsonInString;
    }

    private static Employee createDummyObject() {
        Employee emp = new Employee();

        emp.setName("Vinh");
        emp.setAge(27);
        emp.setSalary(new BigDecimal("1200"));

        List<String> skills = new ArrayList<String>();
        skills.add("java");
        skills.add("python");
        emp.setSkills(skills);

        return emp;
    }
}

Kết quả:

Chuyển đổi đối tượng thành chuỗi JSON:
{"name":"Vinh","age":27,"salary":1200,"skills":["java","python"]}

Chuyển đổi đối tượng thành chuỗi JSON với Format:
{
  "name" : "Vinh",
  "age" : 27,
  "salary" : 1200,
  "skills" : [ "java", "python" ]
}

Ví dụ chuyển đổi chuỗi JSON thành đối tượng trong Java

Phương thức ObjectMapper.readValue() để chuyển đổi chuỗi JSON thành một đối tượng trong java:

File: Jackson2Example.java

package vn.viettuts.json;

import java.io.IOException;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class Jackson2Example {
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        String jsonInString = "{\"name\":\"Vinh\",\"age\":27,\"salary\":1200,"
                + "\"skills\":[\"java\",\"python\"]}";
        Employee emp = null;
        try {
            emp = mapper.readValue(jsonInString, Employee.class);
            
            System.out.println("name: " + emp.getName());
            System.out.println("age: " + emp.getAge());
            System.out.println("salary: " + emp.getSalary());
            System.out.println("skills: " + emp.getSkills());
        } catch (JsonParseException e) {
            e.printStackTrace();
        } catch (JsonMappingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Kết quả:

name: Vinh
age: 27
salary: 1200
skills: [java 1="python" language=","][/java]


Ví dụ đọc chuỗi JSON trong java sử dụng phương thức ObjectMapper.readTree()

File: Jackson3Example.java

package vn.viettuts.json;

import java.io.IOException;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class Jackson3Example {
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        String jsonInString = "{\"name\":\"Vinh\",\"age\":27,\"salary\":1200,"
                + "\"skills\":[\"java\",\"python\"]}";
        try {
            JsonNode jsonNode = mapper.readTree(jsonInString);
            
            System.out.println("name: " + jsonNode.get("name").asText());
            System.out.println("age: " + jsonNode.get("age").asText());
            System.out.println("salary: " + jsonNode.get("salary").asText());
            System.out.print("skills: ");
            JsonNode arrNode =  jsonNode.get("skills");
            if (arrNode.isArray()) {
                for (final JsonNode objNode : arrNode) {
                    System.out.print(objNode.asText() + ", ");
                }
            }
        } catch (JsonParseException e) {
            e.printStackTrace();
        } catch (JsonMappingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Kết quả:

name: Vinh
age: 27
salary: 1200
skills: java, python, 

Ví dụ JSON với Java – json.simple
Ví dụ JSON với AJAX

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Java JSONJackson - phân tích cú pháp JSON trong JavaJSON.simple - phân tích cú pháp JSON trong JavaJSON là gì?Comment trong JSONCú pháp JSONĐối tượng JSONKiểu dữ liệu trong JSONMảng (Array) trong JSONVí dụ JSON với AJAXVí dụ JSON với Java - JacksonVí dụ JSON với Java - json.simple

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml