我嘗試deseralize我的JSON看起來像這樣:反序列化JSON反對
{
"access_token": "This_is_my_token"
"item01": "blabla"
"item02": "blabla"
...
}
,我想只有access_token
保存到一個變量。沒什麼大不了的。 對於爲例,用PHP是很簡單的東西,如:
<?php
$jsonObj = json_decode($jsonString);
$access_token = $jsonObj["access_token"];
?>
但它看起來並不如此簡單與斯威夫特。我嘗試了很多東西,但沒有爲我工作。
這裏是我的代碼:
dataString = String(data: data, encoding: .utf8)!
do {
let anyObj: AnyObject? = try JSONSerialization.jsonObject(with: dataString, options: JSONSerialization.ReadingOptions([])) as AnyObject
guard let access_token = anyObj?.firstItem as? [String: AnyObject]
else {return}
print(access_token)
} catch {
print("JSON Deserial. Error")
}
與此代碼,我無法操縱anyObj
就像我在PHP $jsonObj
做,沒有辦法做這樣的事情anyObj["access_token"]
如何我可以訪問該對象中的這個項目嗎?
感謝
我看起來很不錯,但是當我打印(json.0 [「access_token」])輸出是'Optional (my_super_access_token)'而不是'my_super_access_token',你知道爲什麼嗎? – LeCintas
只需使用,如果讓和解壓縮它。然後它將刪除可選。 – vikram