2016-12-28 62 views
-4

我是在Xcode中的iOS相當新的,無法弄清楚如何解析此JSON:解析JSON的Xcode

{ 
    "status": 0, 
    "result": { 
    "user_guid": 1158, 
    "token": "kl7859ee0a9kd27b65k344791d3d754e", 
    "new_user": "true" 
    } 
} 

我試圖解析「令牌」出來,但無法弄清楚如何。我將如何去解析這個?

+0

你需要獲取結果,然後取令牌,但你需要分析這個使用nsjsonserialization metthod –

回答

2

的Objective-C:

NSString *jsonText = @"Your json string"; 
NSData *jsonData = [jsonText dataUsingEncoding:NSUTF8StringEncoding]; 


NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData 
                  options:NSJSONReadingMutableContainers 
                   error:nil]; 
NSString *token = [[dic valueForKey:@"result"] valueForKey:@"token"]; 

雨燕3.0:

let jsonText = "Your json string" 

if let jsonData = jsonText.data(using: String.Encoding.utf8) { 
    do { 
     let dic = try JSONSerialization.jsonObject(with: jsonData, options: .mutableContainers) as! NSDictionary 
     let token:String = (dic.value(forKey: "result") as! NSDictionary).value(forKey: "token") as! String 
     NSLog("%@", token) 
    } catch { 
     debugPrint(error.localizedDescription) 
    } 
} 
+0

運行它時,「未解決的標識符的使用我收到此錯誤在此之前‘NSJSONReadingMutableContainers’ – user2423476

+0

請檢查我更新的答案。 –

+0

它工作!感謝您的幫助 – user2423476

0

從終點獲取數據。然後,它是這樣的:

if let dict = <insert response object> as? Dictionary<String, AnyObject> { 
if let token = dict["token"] as? String { 
// Set the string to the value in app. 
} 

}

0

設值= response.value( forKeyPath:「result.token」)as! NSString的