SwiftyJSON能够让在Swift语言中更加简便处理JSON数据。
With SwiftyJSON all you have to do is:
| 1 2 3 4 | 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
| 1 2 3 4 | 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} |
| 1 2 3 4 5 6 7 8 | let json = JSONValue(jsonObject)switch json["user_id"]{case .JString(let stringValue): let id = stringValue.toInt()case .JNumber(let numberValue): let id = numberValue.integerValuedefault: println("ooops!!! JSON Data is Unexpected or Broken") |
Error Handling
| 1 2 3 4 5 6 7 8 9 10 11 12 | 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