如何在Java中创建JSON数组?
一个 JSON数组 是一个有序的值集合,用方括号括起来,即以 '[' 开始,以 ']' 结束。数组中的值用 ',' (逗号) 分隔。
JSON数组示例
{ "books": [ Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] }
该 JSON-simple 是一个轻量级库,用于处理 JSON对象。使用它,您可以使用Java程序读取或写入JSON文档的内容。
JSON-Simple Maven依赖
以下是JSON-simple库的Maven依赖项:
<dependencies> <dependency> <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> <version>1.1.1</version> </dependency> </dependencies>
将其粘贴到您pom.xml文件末尾的<dependencies> </dependencies>标签内。(在</project>标签之前)
示例
要使用Java程序在JSON文件中创建一个数组:
- 实例化json-simple库的JSONObject类。
//Creating a JSONObject object JSONObject jsonObject = new JSONObject();
- 使用JSONObject类的put()方法插入所需的键值对。
jsonObject.put("key", "value");
- 通过实例化JSONArray类创建一个JSON数组,并使用JSONArray类的add()方法向创建的数组添加元素。
JSONArray array = new JSONArray(); array.add("element_1"); array.add("element_2"); array.add("element_3");
- 添加所有所需元素后,使用put()方法将数组添加到JSON文档中,如下所示:
jsonObject.put("contact",array);
- 使用FileWriter类将创建的JSON对象写入文件,如下所示:
FileWriter file = new FileWriter("E:/json_array_output.json"); file.write(jsonObject.toJSONString()); file.close();
下面的Java程序创建一个包含数组的JSON对象,并将其写入名为json_array_output.json的文件。
示例
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[]) { //Creating a JSONObject object JSONObject jsonObject = new JSONObject(); //Inserting key-value pairs into the json object 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"); //Creating a json array JSONArray array = new JSONArray(); array.add("e-mail: [email protected]"); array.add("phone: 9848022338"); array.add("city: Hyderabad"); array.add("Area: Madapur"); array.add("State: Telangana"); //Adding array to the json object jsonObject.put("contact",array); try { FileWriter file = new FileWriter("E:/json_array_output.json"); file.write(jsonObject.toJSONString()); file.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("JSON file created: "+jsonObject); } }
输出
JSON file created: { "First_Name":"Krishna Kasyap", "Place_Of_Birth":"Vishakhapatnam", "Last_Name":"Bhagavatula", "contact":[ "e-mail: [email protected]", "phone: 9848022338","city: Hyderabad", "Area: Madapur", "State: Telangana"], "Country":"25000", "ID":"1", "Date_Of_Birth":"1989-09-26"}
如果您查看JSON文件的内容,您可以看到创建的数据如下:
广告