在 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     }  }

项目主页:http://www.open-open.com/lib/view/home/1404443275374