Swift:从JSON数组的内部项创建字典

时间:2015-01-14 00:56:13

标签: json loops swift nsdictionary

在Swift中,我有一个对URL的POST请求,返回类似于此的JSON:

{"users":[{
"user":{"userID":"1","userName":"John"}},
{"user":{"userID":"2","userName":"Mary"}},
{"user":{"userID":"3","userName":"Steve"}},
]}

这是Swift代码:

var result = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.allZeros, error: nil) as? NSDictionary
println(result?.count)
println(result)

...哪个输出:

Optional(1)
Optional({
    users = ({
        user = {
                userID = 1;
                userName = John;
            };
        },
            {
        user = {
                userID = 2;
                userName = Mary;
            };
        },
            {
        user = {
            userID = 3;
            userName = "Steve";
        };
    });
})

我试图遍历"用户"元素,但我尝试没有任何工作。我有一个"用户"等级JSON,但不知道如何让孩子"用户"这个的。有谁知道我怎么做到这一点?如果我可以浏览一下println()用户'这个名字将是一个很好的开始。

1 个答案:

答案 0 :(得分:1)

试试这个。

var result = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.allZeros, error: nil) as? NSDictionary

if let users = result?.objectForKey("users") as? [[String:AnyObject]]
{
    for user in users
    {
        if let userValues = user["user"] as? [String:AnyObject]
        {
            println(userValues["userID"]!)
            println(userValues["userName"]!)
        }

    }
}