6
รับคุณค่าจาก JToken ที่อาจไม่มีอยู่จริง (แนวทางปฏิบัติที่ดีที่สุด)
แนวทางปฏิบัติที่ดีที่สุดในการดึงค่า JSON ที่อาจไม่มีอยู่ใน C # โดยใช้Json.NETคืออะไร ตอนนี้ฉันกำลังติดต่อกับผู้ให้บริการ JSON ที่ส่งคืน JSON ที่บางครั้งมีคู่คีย์ / ค่าบางคู่และบางครั้งก็ไม่มี ฉันใช้วิธีนี้ (อาจจะไม่ถูกต้อง) เพื่อรับค่าของฉัน (เช่นการได้รับสองเท่า): if(null != jToken["width"]) width = double.Parse(jToken["width"].ToString()); else width = 100; ตอนนี้ใช้งานได้ดี แต่เมื่อมีจำนวนมากมันก็ยุ่งยาก ฉันลงเอยด้วยการเขียนวิธีการขยายและหลังจากเขียนมันเท่านั้นฉันสงสัยว่าบางทีฉันอาจจะโง่ ... อย่างไรก็ตามนี่คือวิธีการขยาย (ฉันรวมเฉพาะกรณีสำหรับคู่และสตริง แต่ในความเป็นจริงฉันมีค่อนข้างน้อย มากกว่า): public static T GetValue<T>(this JToken jToken, string key, T defaultValue = default(T)) { T returnValue …