使用 SwiftyJSON 解析 JSON 时遇到问题

2024-03-31

我是 swift 新手,我正在尝试解析从我拥有的私有 API 检索的一些简单的 JSON 数据。我正在使用 SwiftJSON 库。

无论我做什么,我都无法将来自 JSON 响应的“video_upload_id”值分配给变量“videoUploadId”。我希望我提供了足够的信息来获得一些帮助。谢谢

这是一段代码

let task = session.dataTaskWithRequest(request, completionHandler: { (data : NSData!, response, error : NSError!) -> Void in
                if (error == nil) {
                    // Success
                    let statusCode = (response as NSHTTPURLResponse).statusCode
                    println("Status Code: \(statusCode)\r\n")

                    println("Response: \(response)\r\n")

                    println("Data: \(data)\r\n")

                    let dataContent = NSString(data: data!, encoding: NSUTF8StringEncoding)!

                    println("UTF8 Data: \(dataContent)\r\n")

                    let json = JSON(dataContent)

                    if let videoUploadId = json["video_upload_id"].int {

                        println("Video Upload ID (Dict: int): \(videoUploadId)")
                    }

                    else if let videoUploadId = json["video_upload_id"].string {

                        println("Video Upload ID (Dict: string): \(videoUploadId)")
                    }

                    else if let videoUploadId = json[0].int {

                        println("Video Upload ID (Array: int): \(videoUploadId)")
                    }

                    else if let videoUploadId = json[0].string {

                        println("Video Upload ID (Array: string): \(videoUploadId)")

                    }


                    else {
                        println(json["video_upload_id"].error)
                    }


                }
                else {
                    // Failure
                    println("URL Session Task Failed: %@", error.localizedDescription);
                }
            })
            task.resume()    

这是我从控制台收到的信息:

登录响应:HTTP 200 状态代码:201

响应:{ URL:https:////videos/uploads/ } { 状态代码:201,标头 { 连接=“保持活动”; “内容长度”= 24; “内容类型”=“应用程序/json”; 日期 = "2015 年 1 月 25 日星期日 01:02:42 GMT"; 位置=“https:////视频/上传/”; 服务器=“Apache/2.2.15(CentOS)”; “设置Cookie”=“会话=eyJzZXNzaW9uX3Rva2VuIjp7IiBiIjoiUzAxWGFYRnlVVGM1YjBsa1kxWkJiV2xrYVZwcFZXdDFiR0ZLYW5GQ1VqRjFjbk5GIn19.B6XSMg.HXatQ76ZFaoZEQsnNu1B gsVECKA; HttpOnly; 路径=/"; } }

数据:

UTF8 数据:{“video_upload_id”:760}

可选(错误域=SwiftyJSONErrorDomain代码= 901“字典[“video_upload_id”]失败,它不是字典” UserInfo = 0x170238620 {NSLocalizedDescription =字典[“video_upload_id”]失败,它不是字典})

正如您从代码和控制台输出中看到的,我尝试以几种不同的方式设置变量,但所有这些似乎都失败了。我收到错误“字典[“video_upload_id”]失败,它不是字典”我什至尝试在前面添加“[”并添加“]”以尝试查看是否存在格式问题。

有什么线索吗?


您的初始化操作错误。你应该使用:

let json = JSON(data:data) // data is NSData!

将 NSData 转换为 NSString 是不必要的,而且这样做也是错误的。 SwiftyJSON 只能使用 NSData 或 Swift 对象进行初始化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SwiftyJSON 解析 JSON 时遇到问题 的相关文章

  • 为什么我的视图仍然以横向呈现?

    我的视图是由导航控制器控制的 因此我将导航控制器支持的方向设置为明确的纵向和纵向UpSideDown 这可以工作 但是如果调用视图时前一个视图处于横向状态 它将以横向方式呈现并保持横向状态 直到设备旋转 如何防止这种情况发生 这是我的代码
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • 包含 contains 的 json 格式查询

    我在 ansible 中有以下 json 输出 active transaction null cores 4 hostname alpha auth wb01 active transaction null cores 4 hostnam
  • 带有 Odata Next Page 和 Count 的 Web Api 未出现在 JSON 响应中

    我有一个 webapi 方法 我想打开 oData 分页等 我按照中的例子http www asp net web api overview odata support in aspnet web api supporting odata
  • IPV6 快速可达性

    我是 swift 和 xcode 的新手 并且我的应用程序因 IPV6 而被拒绝 性能 2 1 当我们执行以下操作时 您的应用程序会在运行 iOS 9 3 5 并连接到 IPv6 网络的 iPad 和 iPhone 上崩溃 具体来说 当我们
  • CGPoint 标量乘法 Swift

    我正在 SpriteKit 中构建一个平台游戏 并将为我的实体实现更新功能 以便它们根据重力和速度移动 但是 我需要使添加的速度量与增量时间成比例 以防止帧速率影响我的实体的移动方式 因此我将导入 GLKit 以便我可以使用标量函数 但是
  • 将嵌套字典键值转换为 pyspark 数据帧

    我有一个 Pyspark 数据框 如下所示 我想提取 dic 列中的那些嵌套字典并将它们转换为 PySpark 数据帧 像这样 请让我知道如何实现这一目标 Thanks from pyspark sql import functions a
  • Oracle 中的 Json_object 返回 ORA-00907: 缺少右括号

    我正在尝试将 Oracle 表数据转换为 JSON 文件 我有三个数据库 下面的代码在一个数据库中以 JSON 文件形式提供输出 但其他两个数据库抛出ORA 00907 missing right parenthesis error 从语法
  • 如何将我的 json 字符串 avro 二进制编码为字节数组?

    我有一个实际的 JSON 字符串 我需要将其 avro 二进制编码为字节数组 在经历了Apache Avro 规范 http avro apache org docs 1 7 7 spec html 我想出了下面的代码 我不确定这是否是正确
  • 如何使用 jq 从多个嵌套数组中提取键

    SETUP 我试图弄清楚 jq 过滤器是如何工作的 但在找出嵌套数组时遇到了困难 使用下面的数据我无法做出平的 5 键输出 我可以得到 1 个键和 4 个空值 或者 4 个键和 1 个空值 但不能得到所有 5 个键 1 个键 4 个空值 R
  • 迭代 NSOrderedSet

    我正在尝试迭代 NSOrderedSet 的实例 像这样的事情 func myFunc var orderedSet NSOrderedSet array 42 43 44 for n in orderedSet NSLog i n 但是
  • Swift 中带圆角的 NSWindow

    我想要一个圆角的窗户 但我在每个角落都有一个白点 Code let effect NSVisualEffectView frame NSRect x 0 y 0 width 0 height 0 effect blendingMode be
  • iOS UIButton 带有圆角和背景 bug

    我发现圆形 UIButton 存在一个奇怪的问题 这是我创建此按钮的代码块 let roundedButton UIButton type System roundedButton frame CGRectMake 100 100 100
  • Swift 3.0 Pin 颜色注释在 MapView 中没有改变

    我有兴趣根据案例场景更改注释的图钉颜色 在一个函数中 我发送了一个数组 用于确定引脚注释的颜色 到目前为止 我已经设置了一个名为 ColorPointAnnotation 的子类 它将确定 pinColor 然后 在 switch 语句中
  • 如何使用 Swift 获取 YouTube 频道的所有播放列表?

    我的问题不是关于从一般频道检索视频 我只想获取该频道创建的所有 播放列表 并检索每个播放列表的缩略图 标题和视频数量 这是一个 YouTube 频道示例 正如您所看到的 有很多已创建的播放列表 截至目前 我只能获取某个频道最新上传的视频 在
  • jq中如何分组?

    这是 json 文档 name bucket1 clusterName cluster1 name bucket2 clusterName cluster1 name bucket3 clusterName cluster2 name bu
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • 显示键盘时如何在 TextView 下方添加更多填充

    当我在 ScrollView 中有 TextField 并点击它时 键盘会按预期显示 但似乎 TextField 已向上移动到足以显示输入区域 但我希望移动到足够的位置 以便整体可见 否则它看起来像是被剪裁了的 我找不到改变这种行为的方法
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • ResponseSerializer“无法使用 Swift 3 调用非函数类型“NSHTTPURLResponse”的值?

    我一直在使用以下代码 没有出现任何问题 直到更新到 Xcode 8 beta 6 它类似于这个例子 https github com Alamofire Alamofire generic response object serializa

随机推荐

  • (Laravel) 从一个表中获取数据,该表的 ID 与与该表链接的另一个表相对应

    我正在玩我的第一个 Laravel 项目 上面的问题可能有点令人困惑 但让我解释一下 我有 3 张桌子 实际上我还有更多 但让我们忽略它 我有standards stddetails sections如图所示 所以外键对应如下 column
  • 如何使用 Jest 和 Enzyme 测试 getDerivedStateFromProps

    我有这个简单的代码 它使用新的getDerivedStateFromProps生命周期 static getDerivedStateFromProps nextProps Props prevState State if nextProps
  • 如何在 twig 中显示 Unix 时间戳的格式化日期?

    我想通过对 Unix 时间戳应用过滤器来在 twig 中显示格式化日期 twig 有这样的功能吗 有一个过滤器叫date http twig sensiolabs org doc filters date html 在下面的例子中mydat
  • 通过 FileSystem 对象从文件系统读取

    为了列出类路径上特定目录的文件内容 我正在使用新的FileSystem and PathJava 7 的功能 在一次部署中 目录直接存储在文件系统上 在另一个部署中 它存储在 JAR 文件中 我的方法适用于 JAR 文件 我创建了一个Fil
  • Node.js 中的长循环:使用计时器产生结果?

    我在用着Node js http nodejs org 循环通过最终会是什么一个漂亮大阵的帖子 如果我正在做类似的事情客户端 JavaScript 我会使用计时器正如这里所解释的 http oreilly com server admini
  • 如何使用 Spark 从 .sql 转储中提取包含数据的表?

    我有大约四个 sql 独立转储 每个大约 20GB 我需要将它们转换为 Apache Spark 中的数据集 我尝试过使用 InnoDB 安装和制作本地数据库并导入转储 但这似乎太慢 花了大约 10 个小时 我直接使用将文件读入spark
  • 如何将数据从 Amazon SQS 流式传输到 Amazon S3 中的文件

    如何快速创建从 Amazon SQS 读取 json 数据并将其保存在 s3 存储桶中的 avro 文件 可能是其他格式 中的机制 并按 json 消息中给定字段的日期和值进行分区 你可以写一个AWS Lambda 函数由发送到 Amazo
  • 最低成本流程

    R 中是否有实现最小成本流算法的包 The igraph包似乎只有最大流量 通过graph maxflow 函数 这里或上面没有其他内容rseek org http www rseek org 看起来很有帮助 也许您可以返回所有流 然后按值
  • 以编程方式添加的用户控件不会创建其子控件

    我的项目中有一个用户控件 ascx 我在页面的 Page Load 事件处理程序中以编程方式将其添加到页面 如下所示 Controls Add new MyProject Controls ControlWidget Databind 当我
  • 如何允许传入连接到 VirtualBox 内的服务器?

    我配置了一个 NAT 以便在 VitualBox 中加载我最喜欢的 Linux 发行版时运行 这使得传出连接能够成功工作 如何允许传入此框的连接 例如 Web 流量 IP 地址是 10 0 2 15 来自我的主机的 ping 请求导致超时
  • iOS 部署目标

    如果我在提交到应用程序商店时将应用程序的部署目标设置为 iOS 4 2 则使用 iOS 3 2 或低于 4 2 的任何版本 的用户是否能够下载并安装该应用程序 并且该应用程序将无法运行或无法运行下载并安装应用程序本身 Thanks 他们将无
  • 管理归档表单和结果页面的最佳方式

    在 Symfony 中管理过滤器页面和结果页面的最佳方式是什么 我有一个管理过滤器表单并执行查询的控制器 该查询的结果必须传入另一个控制器操作 结果必须显示在另一个控制器操作中 因为我使用了 knp paginator 如果我在过滤器表单的
  • Android ==> ant 和 proguard?

    我在混淆我的应用程序时收到以下错误 如何在 build xml 中定义输出 jar java Shrinking java java io IOException The output jar is empty Did you specif
  • 使用 R 提取多条推文中的主题标签

    我迫切需要一个从 R 中的集体推文中提取主题标签的解决方案 例如 1 1 RddzAlejandra RT NiallOfficial What a day for johnJoeNevin Sooo proud t have been t
  • 后台附件:已修复在 iOS 上不起作用

    我正在尝试找到解决 iOS 设备上固定背景问题的方法 我宁愿不必重新设计这个网站的所有内容 我希望一些 CSS 更改可以解决它 This https i stack imgur com Yxa22 jpg该网站在 iPhone 上的外观是这
  • Ionic2,如何将自定义插件(appsee 或 uxcam)导入到 Ionic App 中

    我正在尝试使用Appsee https www appsee com docs ios ionic or UXcam https uxcam com docs 我尝试像下面这样导入 但没有成功 从 ionic native appsee 导
  • 如何使用@agm-core在有角度的谷歌地图上绘制多边形?

    在我的应用程序中 我使用 Angular Google Maps AGM 来构建地图 如何在其上绘制多边形 我按照中描述的解决方案进行操作https stackblitz com edit agm polygon https stackbl
  • 关于在 MVVM 中绑定 Listbox.SelectedItem 的说明

    我有一个ListBox在我的用户控件之一中 我想获得SelectedItem 在 ViewModel 中使用 这ListBox由 组成TextBlocks 这个问题 https stackoverflow com questions 138
  • 无法使用灵活类型 plt.hist 执行归约

    我有一个包含数千个元素及其各自频率的数据集 我需要绘制出现次数最多的 10 个元素的直方图 我做了 top words Counter my data most common top words 10 top words 10 plt hi
  • 使用 SwiftyJSON 解析 JSON 时遇到问题

    我是 swift 新手 我正在尝试解析从我拥有的私有 API 检索的一些简单的 JSON 数据 我正在使用 SwiftJSON 库 无论我做什么 我都无法将来自 JSON 响应的 video upload id 值分配给变量 videoUp