JSON.ParseObject แปลงสตริง JSON เป็นวัตถุที่เกี่ยวข้อง json.tojsonstring แปลงวัตถุเป็นสตริง JSON ในระหว่างกระบวนการส่งระหว่างด้านหน้าและแบ็กเอนด์สาย JSON มักใช้กันทั่วไป ฉันจะไม่แนะนำฟังก์ชั่นของมันที่นี่ ฉันจะให้ตัวอย่างเล็ก ๆ น้อย ๆ ของแอปพลิเคชันเพื่อช่วยให้เข้าใจการใช้วิธีทั้งสองนี้
ก่อนอื่นใช้ maven เพื่อแนะนำ fastjson
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/ XSI: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" <ArtIfactId> ทดสอบ </artifactId> <persion> 1.0-Snapshot </เวอร์ชัน> <properties> <fastjson_version> 1.2.28 </fastjson_version> </premerties> <predencies> <cersion> $ {fastjson_version} </version> </การพึ่งพา> </pendencies> </project>กำหนดคลาสรุ่นพนักงานและมีคุณสมบัติสี่ประการดังที่แสดงด้านล่าง:
แพ็คเกจ jSontest; นำเข้า java.util.date;/** * @author wujiang * @version 1.0.0 * @date 2017/4/30 */พนักงานชั้นเรียนสาธารณะ {ชื่อสตริงส่วนตัว; อายุจำนวนเต็มส่วนตัว เซ็กซ์สตริงส่วนตัว; วันเกิดส่วนตัววันเกิด; // ละเว้นวิธีการ getter และ setter @Override สตริงสาธารณะ toString () {return "พนักงาน {" + "name = '" + ชื่อ +'/'' + ", อายุ =" + อายุ + ", sex = '" sex +' '' + ", วันเกิด =" + วันเกิด + '}'; -ตกลงขั้นตอนต่อไปทดสอบวิธี json.parseobject และ json.tojsonstring ที่นี่เราจงใจเพิ่มโทรศัพท์ลงในสตริง JSON และวันเกิดในพนักงานเพื่อดูว่าการเปลี่ยนแปลงใดจะเกิดขึ้นกับวัตถุที่ส่งออก
แพ็คเกจ jSontest; นำเข้า com.alibaba.fastjson.json;/** * @author wujiang * @version 1.0.0 * @date 2017/4/30*/คลาสสาธารณะ JSontest {โมฆะสาธารณะคงที่หลัก (สตริง [] args) {/*** สตริง json แปลงเป็นวัตถุ*/สตริง jsonstring = "{ชื่อ: 'antony', อายุ: '12', เพศ: 'ชาย', โทรศัพท์: '888888'}"; พนักงานพนักงาน = JSON.ParseObject (JSonstring, Staff.Class); System.out.println (Staff.toString ()); / *** วัตถุถูกแปลงเป็นสตริง JSON*/ string jsonstr = json.tojsonstring (พนักงาน); System.out.println (jsonstr); -ผลลัพธ์ผลลัพธ์
พนักงาน {name = 'antony', อายุ = 12, sex = 'male', วันเกิด = null} {"อายุ": 12, "ชื่อ": "antony", "sex": "ชาย"} // ถ้าอายุเป็นประเภทสตริงผลลัพธ์ผลลัพธ์จะกลายเป็น // {"อายุ": "12", "ชื่อ": "แอนโทนี",เมื่อ json.parseObject แอตทริบิวต์ที่มีชื่อเดียวกันจะถูกเติม สำหรับคุณสมบัติที่ไม่มีอยู่ในสตริง JSON และคลาสรุ่นบางส่วนจะเป็นโมฆะ สำหรับคุณสมบัติที่ไม่มีอยู่ในคลาสโมเดลและสตริง JSON บางส่วนจะไม่มีการประมวลผลใด ๆ
สำหรับ json.tojsonstring ไม่จำเป็นต้องพูดมากขึ้นเพียงแค่ดูและรู้
สำหรับสถานการณ์ของแอปพลิเคชันตัวอย่างเช่นเมื่อผู้ใช้เข้าสู่บัญชีอย่างเป็นทางการของ WeChat เขาเรียกอินเทอร์เฟซ RESTFUL อย่างเป็นทางการของ WeChat เพื่อรับสตริง JSON ของข้อมูลผู้ใช้ทั้งหมดจากนั้นเขียนคลาส (สรุปข้อมูลที่เขาต้องการในชั้นเรียน) ตัวอย่างเช่นรหัสหลอกต่อไปนี้
String s = httprequest.sendget ("https://api.weixin.qq.com/sns/oauth2/access_token", "appid =" + appid + "& secret =" + appsecret + "& code =" รหัส + " json.parseObject (s, userauthorizationReturn.class);ทั้งหมดข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น