JSON (Notation Object JavaScript) เป็นรูปแบบการแลกเปลี่ยนข้อมูลที่มีน้ำหนักเบาที่ใช้รูปแบบข้อความที่ไม่ขึ้นกับภาษาอย่างสมบูรณ์และเป็นรูปแบบการแลกเปลี่ยนข้อมูลในอุดมคติ ในขณะเดียวกัน JSON เป็นรูปแบบดั้งเดิมของ JavaScript ซึ่งหมายความว่าไม่จำเป็นต้องใช้ API พิเศษหรือชุดเครื่องมือในการประมวลผลข้อมูล JSON ใน JavaScript
เครื่องมือการก่อสร้างและการแยกวิเคราะห์ JSON จำนวนมากภายใต้ Java ได้รับการเผยแพร่ใน www.json.org ในหมู่พวกเขา org.json และ json-lib นั้นค่อนข้างง่าย ทั้งสองมีการใช้งานคล้ายกัน แต่ก็ยังมีความแตกต่างอยู่บ้าง ต่อไปนี้เป็นตัวอย่างแรกของวิธีการสร้างและแยกวิเคราะห์ข้อมูล JSON โดยใช้ JSON-LIB
สำหรับคำอธิบายโดยละเอียดเกี่ยวกับวิธีการสร้างและแยกวิเคราะห์ข้อมูล JSON โดยใช้ org.son โปรดดูโพสต์บล็อกถัดไปของฉัน: สองวิธีในการสร้างและแยกวิเคราะห์ข้อมูล JSON โดยใช้ Java (รายละเอียดคำอธิบาย 2)
1. บทนำ
แพ็คเกจ JSON-LIB เป็นแพ็คเกจที่แปลงถั่วคอลเลกชันแผนที่อาร์เรย์ Java และ XML และ JSON ส่วนใหญ่จะใช้ในการแยกวิเคราะห์ข้อมูล JSON มีคำอธิบายโดยละเอียดเกี่ยวกับเว็บไซต์อย่างเป็นทางการ http://www.json.org/ หากคุณสนใจคุณสามารถศึกษาได้
2. ดาวน์โหลดแพ็คเกจการพึ่งพา JAR: คุณสามารถดาวน์โหลดได้ที่นี่
3. บทนำสู่วิธีการพื้นฐาน
1. แปลงรายการรายการเป็นวิธี JSON
รายการรายการ = new ArrayList (); list.add ("First"); list.add ("Second"); jsonarray jsonarray2 = jsonarray.fromobject (รายการ);2. แปลงการรวบรวมแผนที่เป็นวิธี JSON
แผนที่ = ใหม่ hashmap (); map.put ("ชื่อ", "json"); map.put ("bool", boolean.true); map.put ("int", จำนวนเต็มใหม่ (1)); map.put ("arr", สตริงใหม่ [] {"," b "}); json = jsonobject.fromobject (แผนที่); 3. แปลงถั่วเป็นรหัส JSON
jsonObject jsonObject = jsonObject.FromObject (ใหม่ jsonBean ());
4. แปลงอาร์เรย์เป็นรหัส JSON
บูลีน [] boolarray = new boolean [] {true, false, true}; jsonarray jsonarray1 = jsonarray.fromobject (boolarray);5. แปลงข้อมูลทั่วไปเป็นรหัส JSON
jsonArray jsonArray3 = jsonarray.fromobject ("['json', 'คือ', 'easy']");6. แปลงถั่วเป็นรหัส JSON
List = new ArrayList (); JsonBean2 JB1 = new JSONBEAN2 (); JB1.SetCol (1); JB1.SetRow (1); JB1.SetValue ("XX"); JSONBEAN2 JB2 = ใหม่ jsonBean2 (); jb2.setcol (2); jb2.setrow (2); jb2.setValue (""); list.add (jb1); list.add (jb2); jsonarray ja = jsonarray.fromobject (รายการ); 4. ตัวอย่างการสาธิต
นี่คือวิธีการทั่วไปบางอย่างในการทดสอบ
แพ็คเกจ com.json; นำเข้า java.util.arraylist; นำเข้า java.util.hashmap; นำเข้า java.util.list; นำเข้า java.util.map; นำเข้า net.sf.json.jsonarray; นำเข้า net.sf.json.jsonObject; 2013/5/23 **/คลาสสาธารณะ jSontest {/*** สร้างข้อมูล JSON** @return*/สตริงคงที่สาธารณะ buildjson () {// json รูปแบบข้อมูลการแยกวัตถุ JsonObject jo = new jsonObject (); "Alexia"); map1.put ("เพศ", "หญิง"); map1.put ("อายุ", "23"); แผนที่ <สตริง, สตริง> map2 = hashmap ใหม่ <สตริง, สตริง> (); map2.put ("ชื่อ", "edward"); map2.put ("เพศชาย" ArrayList <AP> (); list.add (MAP1); list.add (MAP2); พนักงานพนักงาน = พนักงานใหม่ (); พนักงาน. setName ("wjl"); พนักงาน. setsex ("หญิง"); พนักงาน. การตั้งค่า (24); // แปลงแผนที่ datajsonarray ja2 = jsonarray.fromobject (รายการ); // แปลงถั่วเป็น jsonarray data jsonarray ja3 = jsonarray.fromobject (พนักงาน); System.out.println ("Jsonarray Object Data Data Data รูปแบบ: "); System.out.println (ja1.toString ()); system.out.println (ja2.toString ()); System.out.println (Ja3.ToString ()); // สร้างข้อมูล JSON รวมถึงแผนที่ ja2); System.out.println ("/n สุดท้ายที่สร้างรูปแบบข้อมูล JSON:"); System.out.println (jo.toString ()); return jo.toString ();}/*** การแยกวิเคราะห์ JSONS (@Param JSONSTRING JSON jsonObject jb = jsonobject.fromobject (jsonstring); jsonarray ja = jb.getjsonarray ("พนักงาน"); รายการ <พนักงาน> emplist = new ArrayList <S Employee> (); // Loop เพิ่มวัตถุพนักงาน (อาจมีหลายรายการ) สำหรับ (int i = 0; ฉัน <ja.size (); i ++) {พนักงานพนักงาน = ใหม่ พนักงาน (); Employee.setName (Ja.getJsonObject (i) .getString ("Name")); Employee.SetSex (ja.getJsonObject (i) .getString ("Sex")); Employee.SetaGe (ja.getJsonObject (i). ข้อมูล JSON ไปยังวัตถุพนักงาน: "); สำหรับ (int i = 0; i <emplist.size (); i ++) {พนักงาน emp = emplist.get (i); system.out.println (" ชื่อ: "emp.getName () +" sex: " + emp.getsex () เป็นโมฆะ Main (String [] args) {// todo วิธีการที่สร้างโดยอัตโนมัติ stubparsejson (buildjson ());}} ผลการดำเนินการมีดังนี้
5. เปรียบเทียบกับ org.json
การใช้ JSON-LIB และ ORG.JSON เกือบจะเหมือนกัน ฉันได้สรุปความแตกต่างสองประการ:
1. org.json เบากว่า JSON-LIB มาก อดีตไม่ได้พึ่งพาแพ็คเกจขวดอื่น ๆ ในขณะที่หลังขึ้นอยู่กับ Lang, การบันทึก, beanutils, คอลเลกชันและส่วนประกอบอื่น ๆ ของ Ezmorph และ Commons
2. JSON-LIB นั้นสะดวกกว่า org.json เมื่อสร้างถั่วและการแยกวิเคราะห์ถั่ว JSON-LIB สามารถแปลงด้วยถั่วโดยตรงในขณะที่ org.json ไม่สามารถแปลงด้วยถั่วโดยตรงและต้องการแผนที่เป็นการขนส่ง หากคุณแปลงถั่วเป็นข้อมูล JSON คุณต้องแปลงถั่วเป็นแผนที่ก่อนจากนั้นแปลงแผนที่เป็น JSON ซึ่งเป็นปัญหามากขึ้น
ในระยะสั้นประโยคเดียวกันยังคงเป็นสิ่งที่ดีที่สุดสำหรับคุณ ทุกคนควรเลือกวิธีที่จะใช้ในการวิเคราะห์ตามต้องการ ในที่สุดฉันจะแนะนำเครื่องมือสองอย่างในการวิเคราะห์ข้อมูล JSON: หนึ่งคือเครื่องมือออนไลน์แก้ไข JSON (http://braincast.nl/samples/jsoneditor/); อีกอย่างคือ Eclipse Plugin Json Tree Analyzer ซึ่งทั้งสองอย่างนี้มีประโยชน์มากและแนะนำให้ทุกคนใช้!
ข้างต้นเป็นสองวิธีที่แนะนำให้คุณโดยใช้ Java เพื่อสร้างและแยกวิเคราะห์ข้อมูล JSON (รายละเอียดคำอธิบายหนึ่ง) ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน!