



การติดตั้ง•การใช้งาน•ใบอนุญาต
DynamicJson เป็นตัวแยกวิเคราะห์ JSON ที่พิมพ์แบบไดนามิก ที่สร้างขึ้นบนคุณสมบัติ @dynamicMemberLookup ใหม่ที่แนะนำโดย Chris Lattner ใน Swift 4.2 สิ่งนี้ช่วยให้เราสามารถเข้าถึงสมาชิกวัตถุโดยพลการซึ่งได้รับการแก้ไขในเวลาทำงานทำให้ Swift มีความยืดหยุ่นเท่ากับ JavaScript เมื่อมาถึง JSON
if let jsonObject = try ? JSONSerialization . jsonObject ( with : data , options : [ ] ) as? [ String : Any ] ,
let user = jsonObject [ " user " ] as? [ String : Any ] ,
let username = user [ " username " ] as? String {
// ...
} let username = JSON ( data ) . user . username . string pod 'DynamicJSON' , '~> 2.0.2' (หากคุณพบปัญหา pod repo update และลองอีกครั้ง)
github "saoudrizwan/DynamicJSON"DynamicJSON.swift ลงในโครงการของคุณ และ import DynamicJSON ในไฟล์ที่คุณต้องการใช้
โยนสิ่ง Any ลงในวัตถุ JSON เพื่อเริ่มต้น
let json = JSON ( Data ( ) )
JSON ( 123 )
JSON ( [ " key " : " value " ] )
JSON ( [ " element " , 1 ] )
JSON ( " Hello world " )
JSON ( false ) ... หรือคัดเลือกตัวอักษรเป็น JSON
let json = " Hello world " as JSON
123 as JSON
[ 1 , 2 , 3 ] as JSON
let user : JSON = [
" username " : " Saoud " ,
" age " : 21 ,
" address " : [
" zip " : " 12345 " ,
" city " : " San Diego "
]
] ปฏิบัติต่อวัตถุ JSON เหมือนคุณอยู่ในดินแดน JavaScript
let dictionary = json . dictionary
let array = json [ 0 ] . cars . array
let string = json . users [ 1 ] . username . string
let nsnumber = json . creditCard . pin . number
let double = json [ 3 ] [ 1 ] . height . double
let int = json [ 0 ] . age . int
let bool = json . biography . isHuman . bool โปรดทราบว่า JSON ไม่มีคุณสมบัติเช่น cars หรือ users จริง ๆ แต่ใช้การค้นหาสมาชิกแบบไดนามิกเพื่อสำรวจผ่านข้อมูล JSON ที่เกี่ยวข้องเพื่อค้นหาวัตถุที่คุณกำลังมองหา
ในกรณีที่คุณมีคีย์ที่เป็นคุณสมบัติจริงของ JSON เช่น number หรือ description ตัวอย่างเช่นใช้ accessor ตัวห้อยสตริงเช่น SO:
let number = json . account . contact [ " number " ] . number
let description = json . user . biography [ " description " ] . string JSON สอดคล้องกับ Comparable
let json1 = JSON ( jsonData1 )
let json2 = JSON ( jsonData2 )
// Equality applies to all types (Dictionary, Array, String, NSNumber, Bool, NSNull)
let isEqual = json1 == json2
// Less/greater than only applies to NSNumbers (Double, Int) and Strings
let isLessThan = json1 < json2
let isLessThanOrEqual = json1 <= json2
let isGreaterThan = json1 > json2
let isGreaterThanOrEqual = json1 >= json2พิมพ์สวยเพื่อจุดประสงค์ในการดีบัก
print ( json )แปลงเป็นวัตถุดิบ
let anyObject = json . object แปลงเป็น Data
let data = json . data ( ) // optionally specify options...DynamicJson ใช้ใบอนุญาต MIT โปรดยื่นปัญหาหากคุณมีคำถามใด ๆ หรือหากคุณต้องการแบ่งปันวิธีการใช้ DynamicJson
Dynamicjson อยู่ในช่วงเริ่มต้น แต่ให้วิธีการใหม่ของวิธีการใหม่ที่ปฏิวัติวงการในการทำงานกับ JSON ใน Swift โปรดอย่าลังเลที่จะส่งคำขอดึงของคุณสมบัติใด ๆ ที่คุณคิดว่าจะเพิ่มลงใน Dynamicjson และปรัชญาของมัน
ติดต่อฉันทางอีเมล [email protected] หรือทาง Twitter @sdrzn โปรดสร้างปัญหาหากคุณเจอข้อผิดพลาดหรือต้องการเพิ่มคุณสมบัติ
@dynamicMemberLookup