Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để đọc / phân tích cú pháp mảng JSON bằng Java?

Mảng Json là một tập hợp các giá trị có thứ tự được đặt trong dấu ngoặc vuông, tức là nó bắt đầu bằng ‘[’ và kết thúc bằng ‘]’. Các giá trị trong mảng được phân tách bằng dấu ‘,’ (dấu phẩy).

Mảng JSON mẫu

 {"books":[Java, JavaFX, Hbase, Cassandra, WebGL, JOGL]} 

Json-simple là một thư viện trọng lượng nhẹ được sử dụng để xử lý các đối tượng JSON. Sử dụng cái này, bạn có thể đọc hoặc viết nội dung của tài liệu JSON bằng chương trình Java.

JSON-Sự phụ thuộc maven đơn giản

Sau đây là phần phụ thuộc maven cho thư viện JSON-simple -

    com.googlecode.json-simple   json-simple   1.1.1    

Dán cái này vào thẻ ở cuối tệp pom.xml của bạn. (trước thẻ )

Ví dụ

Trước hết, hãy để chúng tôi tạo JSON tài liệu có tên sample.json với 6 cặp khóa-giá trị và một mảng như hình dưới đây -

 {"ID":"1", "First_Name":"Krishna Kasyap", "Last_Name":"Bhagavatula", "Date_Of_Birth":"1989-09-26", "Place_Of_Birth":"Vishakhapatnam", " Lương ":" 25000 "" liên hệ ":[" e-mail:krishna_kasyap@gmail.com "," phone:9848022338 "," city:Hyderabad "," Area:Madapur "," State:Telangana "]}  

Để đọc một mảng từ tệp JSON bằng chương trình Java -

  • Khởi tạo lớp JSONParser của thư viện json-simple.
 JSONParser jsonParser =new JSONParser (); 
  • Phân tích cú pháp nội dung của đối tượng thu được bằng cách sử dụng parse () phương pháp.
 // Phân tích cú pháp nội dung của tệp JSONJSONObject jsonObject =(JSONObject) jsonParser.parse (new FileReader ("E:/players_data.json")); 
  • Truy xuất giá trị được liên kết với một khóa bằng cách sử dụng get () phương pháp.
 Giá trị chuỗi =(Chuỗi) jsonObject.get ("key_name"); 
  • Cũng giống như các phần tử khác, truy xuất mảng json bằng cách sử dụng get () vào đối tượng JSONArray.
 JSONArray jsonArray =(JSONArray) jsonObject.get ("liên hệ"); 
  • Trình lặp () phương thức của lớp JSONArray trả về một đối tượng Iterator bằng cách sử dụng nó mà bạn có thể lặp lại nội dung của mảng hiện tại.
 // Lặp lại nội dung của arrayIterator  iterator =jsonArray.iterator (); while (iterator.hasNext ()) {System.out.println (iterator.next ());} 

Sau chương trình Java phân tích cú pháp tệp sample.json đã tạo ở trên, đọc nội dung của nó và hiển thị chúng.

Ví dụ

 import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Iterator; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; public class ReadingArrayFromJSON {public static void main (String args []) {// Tạo đối tượng JSONParser JSONParser jsonParser =new JSONParser (); thử {// Phân tích cú pháp nội dung của tệp JSON JSONObject jsonObject =(JSONObject) jsonParser.parse (new FileReader ("E:/test.json")); // Tạo URL System.out.println ("Nội dung của JSON là:"); System.out.println ("ID:" + jsonObject.get ("ID")); System.out.println ("First name:" + jsonObject.get ("First_Name")); System.out.println ("Họ:" + jsonObject.get ("Tên_ Họ")); System.out.println ("Ngày sinh:" + jsonObject.get ("Date_Of_Birth")); System.out.println ("Nơi sinh:" + jsonObject.get ("Place_Of_Birth")); System.out.println ("Lương:" + jsonObject.get ("Lương")); // Truy xuất mảng JSONArray jsonArray =(JSONArray) jsonObject.get ("contact"); System.out.println (""); System.out.println ("Chi tiết liên hệ:"); // Lặp lại nội dung của mảng Iterator  iterator =jsonArray.iterator (); while (iterator.hasNext ()) {System.out.println (iterator.next ()); }} catch (FileNotFoundException e) {e.printStackTrace (); } catch (IOException e) {e.printStackTrace (); } catch (ParseException e) {e.printStackTrace (); }}} 

Đầu ra

 Nội dung của JSON là:ID:1Tên đầu:Krishna KasyapTên cuối:BhagavatulaNgày sinh:1989-09-26Nơi sinh:VishakhapatnamSalary:25000Chi tiết liên hệ:e-mail:krishna_kasyap@gmail.comphone:9848022338 Thành phố:Hyderabad :Telangana