Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะอ่าน / แยกวิเคราะห์อาร์เรย์ JSON โดยใช้ Java ได้อย่างไร


อาร์เรย์ Json คือชุดของค่าที่เรียงลำดับซึ่งอยู่ในวงเล็บเหลี่ยม กล่าวคือ เริ่มต้นด้วย '[' และลงท้ายด้วย ']' ค่าในอาร์เรย์คั่นด้วย ',' (จุลภาค)

ตัวอย่างอาร์เรย์ JSON

{ "หนังสือ":[ Java, JavaFX, Hbase, Cassandra, WebGL, JOGL]}

json-simple เป็นไลบรารี่น้ำหนักเบาซึ่งใช้ในการประมวลผลอ็อบเจ็กต์ JSON คุณสามารถอ่านหรือเขียนเนื้อหาของเอกสาร JSON โดยใช้โปรแกรม Java ได้

JSON-การพึ่งพา maven อย่างง่าย

ต่อไปนี้คือการพึ่งพา maven สำหรับไลบรารีแบบง่าย JSON -

  com.googlecode.json-simple json-simple 1.1.1 

วางสิ่งนี้ด้วยในแท็ก ที่ส่วนท้ายของไฟล์ pom.xml ของคุณ (ก่อนแท็ก )

ตัวอย่าง

ก่อนอื่น ให้เราสร้าง JSON เอกสารชื่อ sample.json ด้วยคู่คีย์-ค่า 6 คู่และอาร์เรย์ดังแสดงด้านล่าง -

{ "ID":"1", "First_Name":"Krishna Kasyap", "Last_Name":"Bhagavatula", "Date_Of_Birth":"1989-09-26", "Place_Of_Birth":"Vishakhapatnam", " เงินเดือน":"25000" "ติดต่อ":[ "อีเมล:[email protected]", "โทรศัพท์:9848022338", "เมือง:ไฮเดอราบาด", "พื้นที่:มาดาปูร์", "รัฐ:เตลังคานา" ]} 

หากต้องการอ่านอาร์เรย์จากไฟล์ JSON โดยใช้โปรแกรม Java -

  • สร้างตัวอย่างคลาส JSONParser ของไลบรารี json-simple
JSONParser jsonParser =ใหม่ JSONParser();
  • แยกวิเคราะห์เนื้อหาของวัตถุที่ได้รับโดยใช้ parse() วิธีการ
//การแยกวิเคราะห์เนื้อหาของไฟล์ JSONJSONObject jsonObject =(JSONObject) jsonParser.parse(new FileReader("E:/players_data.json"));
  • ดึงค่าที่เกี่ยวข้องกับคีย์โดยใช้ get() วิธีการ
ค่าสตริง =(สตริง) jsonObject.get("key_name");
  • เช่นเดียวกับองค์ประกอบอื่นๆ ดึงอาร์เรย์ json โดยใช้ get() เมธอดลงในวัตถุ JSONArray
JSONArray jsonArray =(JSONArray) jsonObject.get("ติดต่อ");
  • ตัว ตัววนซ้ำ () เมธอดของคลาส JSONArray ส่งคืนออบเจ็กต์ Iterator ซึ่งคุณสามารถวนซ้ำเนื้อหาของอาร์เรย์ปัจจุบันได้
//การวนซ้ำเนื้อหาของ arrayIterator iterator =jsonArray.iterator();while(iterator.hasNext()) { System.out.println(iterator.next());}

โปรแกรม Java ที่ตามมาจะแยกวิเคราะห์ไฟล์ sample.json ที่สร้างขึ้นด้านบน อ่านเนื้อหาและแสดงไฟล์เหล่านั้น

ตัวอย่าง

นำเข้า 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 คลาสสาธารณะ ReadingArrayFromJSON { โมฆะคงที่สาธารณะหลัก (สตริง args []) {// การสร้างวัตถุ JSONParser JSONParser jsonParser =ใหม่ JSONParser (); ลอง {// แยกวิเคราะห์เนื้อหาของไฟล์ JSON JSONObject jsonObject =(JSONObject) jsonParser.parse (new FileReader ("E:/test.json")); //สร้าง URL System.out.println("เนื้อหาของ JSON คือ:"); System.out.println("ID:"+jsonObject.get("ID")); System.out.println("ชื่อ:"+jsonObject.get("First_Name")); System.out.println("นามสกุล:"+jsonObject.get("Last_Name")); System.out.println("วันเดือนปีเกิด:"+ jsonObject.get("Date_Of_Birth")); System.out.println("สถานที่เกิด:"+ jsonObject.get("Place_Of_Birth")); System.out.println("เงินเดือน:"+jsonObject.get("เงินเดือน")); //ดึงข้อมูลอาร์เรย์ JSONArray jsonArray =(JSONArray) jsonObject.get("contact"); System.out.println(""); System.out.println("รายละเอียดการติดต่อ:"); //วนซ้ำเนื้อหาของอาร์เรย์ Iterator iterator =jsonArray.iterator(); ในขณะที่ (iterator.hasNext ()) { System.out.println (iterator.next ()); } } จับ (FileNotFoundException จ) { e.printStackTrace (); } จับ (IOException จ) { e.printStackTrace (); } จับ (ParseException จ) { e.printStackTrace (); } }}

ผลลัพธ์

เนื้อหาของ JSON คือ:ID:1ชื่อจริง:Krishna Kasyapนามสกุล:Bhagavatulaวันเกิด:1989-09-26สถานที่เกิด:Vishakhapatnam เงินเดือน:25000รายละเอียดการติดต่อ:e-mail:[email protected]:9848022338เมือง:HyderpurStaterabadพื้นที่:Mada :พรรคเตลัง