如何在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文件的内容,您可以看到创建的数据如下:

更新于:2023年9月6日

45K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告