【问题标题】:Trying to parse an json file with Swifty JSON尝试使用 Swiftyjson 解析 json 文件
【发布时间】:2024-01-18 08:15:01
【问题描述】:

我正在 Swift 中使用 Alamofire 和 SwiftyJSON 练习,但我遇到了问题。

我试图在 JSON 中获取一个处于不同级别的元素,但它让我显示 nil 或 null,或者它的字段为空。

虽然我使用的是漫威开发者应用。

我的代码:

Alamofire.request(urlGetCharaters).responseJSON { response in
        if let value = response.result.value {
            let json = JSON(value)

            print("Pa ti")
            print(json["data"]["results"]["name"].stringValue)

        }

我一直在说那是空的。

Json 是这样的:

"code": 200,
"status": "Ok",
"copyright": "© 2018 MARVEL",
"attributionText": "Data provided by Marvel. © 2018 MARVEL",
"attributionHTML": "<a href=\"http://marvel.com\">Data provided by Marvel. © 2018 MARVEL</a>",
"etag": " ",
"data": {
    "offset": 0,
    "limit": 20,
    "total": 1491,
    "count": 20,
    "results": [
        {
            "id": 1011334,
            "name": "3-D Man",
            "description": "",
            "modified": "2014-04-29T14:18:17-0400",
            "thumbnail": {
                "path": "http://i.annihil.us/u/prod/marvel/i/mg/c/e0/535fecbbb9784",
                "extension": "jpg"
            },

我正在尝试进入:数据 -> 结果,然后获取“名称”。

有什么解决办法吗?谢谢

【问题讨论】:

  • “results”键为您提供一个(字典)数组,而不是另一个字典。

标签: ios json swift alamofire swifty-json


【解决方案1】:

正如rmaddy 所评论的,您应该得到这样的第一个结果名称:

print(json["data"]["results"][0]["name"].stringValue)

别忘了数组和对象是不同的。

【讨论】:

  • 非常感谢,它帮助了我。我很困惑。为了得到所有只有我必须为此做的事情。谢谢!
最近更新 更多