在 Swift 语言中更好的处理 JSON 数据:SwiftyJSON
jopen
10年前
SwiftyJSON能够让在Swift语言中更加简便处理JSON数据。
With SwiftyJSON all you have to do is:
let json = JSONValue(dataFromNetworking) if let userName = json[0]["user"]["name"].string{ //Now you got your value }
And don't worry about the Optional Wrapping thing, it's done for you automatically
let json = JSONValue(dataFromNetworking) if let userName = json[999999]["wrong_key"]["wrong_name"].string{ //Calm down, take it easy, the ".string" property still produces the correct Optional String type with safety }
let json = JSONValue(jsonObject) switch json["user_id"]{ case .JString(let stringValue): let id = stringValue.toInt() case .JNumber(let numberValue): let id = numberValue.integerValue default: println("ooops!!! JSON Data is Unexpected or Broken")
Error Handling
let json = JSONValue(dataFromNetworking)["some_key"]["some_wrong_key"]["wrong_name"] if json{ //JSONValue it self confirm to Protocol "LogicValue", with JSONValue.JInvalid produce false and others produce true }else{ println(json) //> JSON Keypath Error: Incorrect Keypath "some_wrong_key/wrong_name" //It always tells you where your key starts went wrong switch json{ case .JInvalid(let error): //An NSError containing detailed error information } }