无法将JSON数组展开为字符串值

时间:2015-06-18 20:28:43

标签: ios json swift swifty-json

我一直在与JSON斗争几天。我正在尝试为我的Web服务器创建一个POST请求以获取用户名,该用户名将返回有关所述用户的信息。我已经设法以两种方式获取JSON响应,但我不能将Array的任何元素转换为字符串。我也在使用SWIFTYJSON API。

http://stackoverflow.com/questions/27462106/difference-between-user-and-app-only-auth

但是,这似乎没有用,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我看到使用NSJSONSerialization时你将JSON响应作为NSArray进行投射,所以例如使用SwiftyJSON获取第一个项player_username

let result2 = json[0]["player_username"].string

它应该在不首先将json[0]强制转换为字典的情况下工作,因为感谢SwiftyJSON,编译器知道json[0]是一个字典。

如果由于某种原因json[0]不能自动下标,您可以执行以下操作:

let playerOneDic = json[0].dictionary
let result2 = playerOneDic["player_username"].string

否则,如果没有SwiftyJSON,您将不得不这样做:

if let playerOne = myJSON?[0] as? [String:AnyObject] {
    if let username = playerOne["player_username"] as? String {
        println(username)
    }
}