วิธีการเครื่องมือ: วัตถุประสงค์ของบทความนี้คือการแปลงสตริง JSON เป็นที่เก็บข้อมูลคู่คีย์-ค่าและเก็บข้อมูลของโหนดใบ
Maven อ้างอิงเวอร์ชันแพ็คเกจ JAR:
<Ederency> <roupId> org.json </groupId> <ratifactId> JSON </artifactId> <version> 20090211 </Serve> </predency>
เครื่องมือ:
แพ็คเกจ com.baofoo.admin.test; // นำเข้า com.alibaba.fastjson.jsonobject; นำเข้า lombok.extern.slf4j.slf4j; นำเข้า org.junit.test; นำเข้า org.json.*; นำเข้า Java.util.*; /*** สร้างโดย BF100 เมื่อ 2018/4/12 */ @slf4j คลาสสาธารณะ testbycaoxnew {@test โมฆะสาธารณะ test1 () {ลอง {int a = 1/0; } catch (exception e) {log.error ("ข้อยกเว้นการโทร: {}", e); E.PrintStackTrace (); } system.out.println ("มาเลย !!!"); } @Test โมฆะสาธารณะ test2 () พ่นข้อยกเว้น {string str = "{/" result/":/" ความสำเร็จ/",/" ข้อความ/":/" ความสำเร็จ! - string str2 = "{ผลลัพธ์: ความสำเร็จ, ข้อความ: ความสำเร็จ}"; // jsonObject jsstr = jsonobject.parseObject (str); // system.out.println (JSSTR); jsonObject obj = new JsonObject (STR); Stack <JsonObject> stobj = ใหม่สแต็ก <JsonObject> (); stobj.push (obj); แผนที่ <string, Object> resultmap = new hashmap <string, object> (); jSontomap (stobj, resultmap); ตั้งค่า <string> keys = resultmap.keyset (); สำหรับ (คีย์สตริง: คีย์) {system.out.println (คีย์+":"+resultmap.get (คีย์)); }} / ** * @author: sks * @description: จัดเก็บข้อมูลวัตถุ JSON ในแผนที่ในรูปแบบของคู่คีย์-ค่าเฉพาะจัดเก็บโหนดใบ * @date: * / โมฆะคงที่ส่วนตัว jsontomap (stobr <jsonObject> stobj, แผนที่ <string, Object> ผลลัพธ์ } jsonObject json = stobj.pop (); iterator it = json.keys (); ในขณะที่ (it.hasnext ()) {string key = (string) it.next (); // รับค่าของค่าวัตถุค่า = json.get (คีย์); //system.out.println(value); if (ค่าอินสแตนซ์ของ jsonObject) {stobj.push ((jsonObject) ค่า); // traverse traverse jSontomap (stobj, resultmap); } else {resultmap.put (คีย์, ค่า); }}} @Test Public Void Test3 () พ่นข้อยกเว้น {String JSONST = "{ResponseHeader: {สถานะ: 0, QTime: 0}, การสะกดคำ: {คำแนะนำ: {จีน: {Numfound: 9, startOffset: 0, endoffset: 2," + " วัฒนธรรม]}}, " +" การรวบรวม: {การเปรียบเทียบ: ธนาคารอุตสาหกรรมและพาณิชย์ของจีน}}} "; jsonObject obj = new JsonObject (JSONST); Stack <JsonObject> stobj = ใหม่สแต็ก <JsonObject> (); stobj.push (obj); แผนที่ <string, Object> resultmap = new hashmap <string, object> (); jSontomap (stobj, resultmap); ตั้งค่า <string> keys = resultmap.keyset (); สำหรับ (คีย์สตริง: คีย์) {system.out.println (คีย์+":"+resultmap.get (คีย์)); -สรุป
ด้านบนเป็นวิธีการแปลงวัตถุ JSON เป็นคู่คีย์-ค่าแผนที่ที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!