如何在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: krishna_kasyap@gmail.com");
      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: krishna_kasyap@gmail.com",
"phone: 9848022338","city: Hyderabad",
"Area: Madapur",
"State: Telangana"],
"Country":"25000",
"ID":"1",
"Date_Of_Birth":"1989-09-26"}

如果您檢視JSON檔案的內容,您可以看到建立的資料如下:

更新於:2023年9月6日

45K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.