我解析了一个json并得到了一个JSON字典。
{
data = (
{
bio = "<null>";
bookmarked = 35;
id = 22;
"last_seen" = {
date = "2017-03-30 14:00:01";
timezone = "Asia/Kolkata";
"timezone_type" = 3;
};
name = "Alex";
username = "Alex";
}
);}
我正在尝试访问用户名和日期。 我试过了
let name = userData.value(forKeyPath: "data.username")
print(username)
通过打印这个,我得到一个带有用户名的__NSSingleObjectArrayI。
Optional(<__NSSingleObjectArrayI 0x6080000120b0>(
Alex
)
)
如何访问并在其他地方显示?基本上从字符串中提取“Alex”?
答案 0 :(得分:1)
value(forKeyPath
返回一个数组 - 如输出中所示。你需要得到数组的第一项
let names = userData.value(forKeyPath: "data.username")
if !names.isEmpty { print(names[0]) }
然而,获取名称的通常方法是
if let data = userDatavalue["data") as? [[String:Any]], !data.isEmpty,
let username = data[0]["username"] as? String {
print(username)
}