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.integerValue
default :
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
}
} |