如何使用SwiftyJSON获取字符串元素数组?

时间:2016-04-07 15:23:50

标签: swift swifty-json

我有一个可能包含字符串元素数组的JSON,我想将它保存到变量中。到目前为止我做了:

import SwiftyJSON    
(...)
var myUsers = [""]
if(json["arrayOfUsers"].string != nil)
{
    myUsers = json["arrayOfUsers"] //this brings an error
}

错误说:

  

不能下标索引类型为

的JSON类型的值

如何将此数组安全地传递给我的变量?

1 个答案:

答案 0 :(得分:2)

您必须获取SwiftyJSON在解析JSON数据时准备的字符串数组。

我会像你在问题中那样使用if let而不是!= nil,我们将使用SwiftyJSON .array可选的getter:

if let users = json["arrayOfUsers"].array {
    myUsers = users
}

如果出于任何原因出现类型错误,您可以显式地向下转换SwiftyJSON对象本身而不是使用getter:

if let users = json["arrayOfUsers"] as? [String] {
    myUsers = users
}

请注意,您的数组字符串也未正确创建。这样做:

var myUsers = [String]()

或喜欢点击:

var myUsers: [String] = []

两个版本同样有效,并且都创建一个空字符串数组。