Mảng JSON là tập hợp các giá trị có thứ tự, bao quanh bởi dấu ngoặc vuông: bắt đầu bằng [ và kết thúc bằng ]. Các giá trị cách nhau bằng dấu phẩy ,.
Mảng JSON mẫu
{
"books": [ "Java", "JavaFX", "Hbase", "Cassandra", "WebGL", "JOGL" ]
}
Thư viện json-simple nhẹ, dùng xử lý đối tượng JSON. Cho phép đọc/ghi tài liệu JSON bằng Java.
Maven dependency json-simple
<dependencies>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
Dán vào thẻ <dependencies> trong pom.xml (trước </project>).
Các bước tạo mảng JSON
- Khởi tạo JSONObject của json-simple.
JSONObject jsonObject = new JSONObject();
- Chèn cặp key-value bằng put().
jsonObject.put("key", "value"); - Tạo mảng JSON bằng JSONArray, thêm phần tử bằng add().
JSONArray array = new JSONArray(); array.add("element_1"); array.add("element_2"); array.add("element_3"); - Thêm mảng vào JSON object bằng put().
jsonObject.put("contact", array); - Ghi JSON object vào file dùng FileWriter.
FileWriter file = new FileWriter("E:/json_array_output.json"); file.write(jsonObject.toJSONString()); file.close();
Ví dụ hoàn chỉnh
import java.io.FileWriter;
import java.io.IOException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class WritingJSONArray {
public static void main(String args[]) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("ID", "1");
jsonObject.put("First_Name", "Krishna Kasyap");
jsonObject.put("Last_Name", "Bhagavatula");
jsonObject.put("Date_Of_Birth", "1989-09-26");
jsonObject.put("Place_Of_Birth", "Vishakhapatnam");
jsonObject.put("Country", "25000");
JSONArray array = new JSONArray();
array.add("e-mail: krishna_kasyap@gmail.com");
array.add("phone: 9848022338");
array.add("city: Hyderabad");
array.add("Area: Madapur");
array.add("State: Telangana");
jsonObject.put("contact", array);
try {
FileWriter file = new FileWriter("E:/json_array_output.json");
file.write(jsonObject.toJSONString());
file.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("JSON file created: " + jsonObject);
}
}
Kết quả đầu ra
JSON file created: {
"First_Name":"Krishna Kasyap",
"Place_Of_Birth":"Vishakhapatnam",
"Last_Name":"Bhagavatula",
"contact":[ "e-mail: krishna_kasyap@gmail.com", "phone: 9848022338", "city: Hyderabad", "Area: Madapur", "State: Telangana" ],
"Country":"25000", "ID":"1", "Date_Of_Birth":"1989-09-26"
}