尝试在 Swift 3.0 中访问数组作为 JSON api 的一部分

阿尔布赖恩

我正在尝试将数组作为 JSON api 的一部分进行访问。api 不是字典的一部分。我的功能如下:

func downloadJsonwithURL() {
    let url = NSURL(string: urlString)
     URLSession.shared.dataTask(with: (url as? URL)!, completionHandler: {(data, response, error) -> Void in

        if let jsonObj = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSArray {
            print(jsonObj!)

            if let albumsArray = jsonObj! as? NSArray {
                for album in albumsArray{
                    if let albumDict = album as? NSDictionary {
                        if let name = albumDict.value(forKey: "title") {
                            self.nameArray.append(name as! String)
                        }
                        if let name = albumDict.value(forKey: "artist") {
                            self.albumArray.append(name as! String)
                        }
                        if let name = albumDict.value(forKey: "thumbnail_image") {
                            self.imgURLArray.append(name as! String)
                        }
                        if let name = albumDict.value(forKey: "image") {
                            self.albumURLArray.append(name as! String)
                        }
                    }

                }
            }
            OperationQueue.main.addOperation({
                self.tableView.reloadData()
            })
        }

    }).resume()

    }

我得到的错误是

 Non-optional expression of type 'NSArray' used in a check for optionals.

我怎样才能解决这个问题?任何帮助,将不胜感激。

柯林rf

在 if-let 绑定中,if let jsonObj = try? JSONSerialization.jsonObject您将jsonObj转换为 NSArray。因此, if-let:if let albumsArray = jsonObj! as? NSArray { }是不必要的。您可以删除该行代码(以及相应的右花括号)并将其重命名jsonObjalbumsArray.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

作为AJAX成功函数的一部分,从API调用发送PHP的JSON响应

来自分类Dev

仅访问 Json 值的一部分

来自分类Dev

如何提取JSON数组的一部分?

来自分类Dev

YouTube数据API v3-如何仅要求播放列表中的片段的一部分?

来自分类Dev

尝试在 Laravel 中获取特定的数组键和值的一部分

来自分类Dev

paste0和ifelse作为dplyr中管道的一部分

来自分类Dev

初始化UIGestureRecognizer作为Swift中属性定义的一部分吗?

来自分类Dev

尝试在JavaScript中修剪字符串的一部分

来自分类Dev

如何在Swift中仅对数组的一部分求和?

来自分类Dev

如何在python中将api响应的一部分转换为完整的json

来自分类Dev

在 NodeMCU 上使用 API 时仅获取 JSON 的一部分

来自分类Dev

Swift-变量在if语句中作为更新的一部分,但随后将还原

来自分类Dev

使用枚举作为 Swift 协议编程的一部分

来自分类Dev

在Swift中提取二维数组的一部分

来自分类Dev

在Swift中提取二维数组的一部分

来自分类Dev

返回多行字符串作为REST API的一部分

来自分类Dev

在Java中将JSON响应作为Rest调用的一部分

来自分类Dev

如何通过json字典作为url的一部分?

来自分类Dev

如何通过PHP在JSON添加@符号作为对象名的一部分

来自分类Dev

如何获得JSON的一部分,作为杰克逊使用纯文本

来自分类Dev

无法访问我的json的一部分

来自分类Dev

Slim 3-斜线作为路径参数的一部分

来自分类Dev

如何线性化 JSON 并使其成为初始数组的一部分

来自分类Dev

搜索第一部分多维数组ActionScript 3

来自分类Dev

在Android版Google Maps API中仅显示kml文件的一部分

来自分类Dev

如何使用ActiveRecord仅选择存储在Postgres中的json的一部分

来自分类Dev

在许多div + Struts2中加载JSON的一部分

来自分类Dev

有条件地在JavaScript代码中隐藏json的一部分

来自分类Dev

PostgreSQL中的JSON类型是事务的一部分吗?

Related 相关文章

  1. 1

    作为AJAX成功函数的一部分,从API调用发送PHP的JSON响应

  2. 2

    仅访问 Json 值的一部分

  3. 3

    如何提取JSON数组的一部分?

  4. 4

    YouTube数据API v3-如何仅要求播放列表中的片段的一部分?

  5. 5

    尝试在 Laravel 中获取特定的数组键和值的一部分

  6. 6

    paste0和ifelse作为dplyr中管道的一部分

  7. 7

    初始化UIGestureRecognizer作为Swift中属性定义的一部分吗?

  8. 8

    尝试在JavaScript中修剪字符串的一部分

  9. 9

    如何在Swift中仅对数组的一部分求和?

  10. 10

    如何在python中将api响应的一部分转换为完整的json

  11. 11

    在 NodeMCU 上使用 API 时仅获取 JSON 的一部分

  12. 12

    Swift-变量在if语句中作为更新的一部分,但随后将还原

  13. 13

    使用枚举作为 Swift 协议编程的一部分

  14. 14

    在Swift中提取二维数组的一部分

  15. 15

    在Swift中提取二维数组的一部分

  16. 16

    返回多行字符串作为REST API的一部分

  17. 17

    在Java中将JSON响应作为Rest调用的一部分

  18. 18

    如何通过json字典作为url的一部分?

  19. 19

    如何通过PHP在JSON添加@符号作为对象名的一部分

  20. 20

    如何获得JSON的一部分,作为杰克逊使用纯文本

  21. 21

    无法访问我的json的一部分

  22. 22

    Slim 3-斜线作为路径参数的一部分

  23. 23

    如何线性化 JSON 并使其成为初始数组的一部分

  24. 24

    搜索第一部分多维数组ActionScript 3

  25. 25

    在Android版Google Maps API中仅显示kml文件的一部分

  26. 26

    如何使用ActiveRecord仅选择存储在Postgres中的json的一部分

  27. 27

    在许多div + Struts2中加载JSON的一部分

  28. 28

    有条件地在JavaScript代码中隐藏json的一部分

  29. 29

    PostgreSQL中的JSON类型是事务的一部分吗?

热门标签

归档