gpt4 book ai didi

arrays - 如何在嵌套的 JSON 值上使用 SwiftyJSON

转载 作者:行者123 更新时间:2023-12-04 19:03:13 25 4
gpt4 key购买 nike

我正在调用一个 JSON API,它有几个我需要获取的嵌套值。我正在使用 SwiftyJSON 使事情变得更简洁。对于顶级值,一切似乎都运行良好,但在更深层次的情况下,我得到了可怕的“展开可选值时为零”。

以下是我如何使用 Alamofire 进行 API 调用:

Alamofire.request(APIRequests.Router.Nearby(self.page)).responseJSON(){
(_,_,json,_) in
println(json)
if (json != nil){
var jsonObj = JSON(json!)

if let userArray = jsonObj ["results"].array {

for userDict in userArray {
var username: String! = userDict["username"].string
var firstName: String! = userDict["firstName"].string
var profileImage: String! = userDict["userImages"]["profile"]["filename"].string
var characterName: String! = userDict["characters"]["characterName"].string

var user = User(username: username, profileImage: profileImage, firstName: firstName, characterName: characterName)

self.users.append(user)
}
}

这是 JSON 的示例:
{
userInfo: {
something: "abc",
requestType: "GET"
},
results: [
{
username: "Jess",
firstName: "Jessica",
userImages: {
profile: [
{
userImageID: "6",
filename: "user-07.jpg"
}
],
cover: [
{
userImageID: "15",
filename: "user-07.jpg"
}
]
},
characters: [
{
userCharacterID: "8",
characterName: "Amelia",
}
]
}

对于顶级 key usernamefirstName然而,调试器显示正确的值,只要我深入一点以获得 profileImagecharacterName即使打印 json 显示这些键的值,这些也会返回 nil。

我究竟做错了什么?我只是没有看到它。

任何想法都会有所帮助。谢谢你。

最佳答案

尝试

var profileImage: String! = userDict["userImages"]["profile"][0]["filename"].string

var characterName: String! = userDict["characters"][0]["characterName"].string

并让我们知道它提供了什么。

关于arrays - 如何在嵌套的 JSON 值上使用 SwiftyJSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31715907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com