解码错误 - 预期解码 Dictionary 但发现了一个数组

2024-02-18

我是 swift 编程和 Xcode 的新手,我尝试使用 Json 编码将 mysql 数据从数据库调用到 Xcode。我能够成功调用所有数据(数组),但是当我决定仅调用一个值(列)(例如 Courses.name)时,我收到“解码错误 - 预期解码字典,但发现了一个数组”。我该如何解决这个问题?我的目标是仅打印 course.name

import UIKit

struct Course: Decodable {
let id: String
let name: String
let member:  String

 }

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    let jsonUrlString = "http://oriri.ng/aapl/service.php"
    guard let url = URL(string: jsonUrlString) else
    { return }

    URLSession.shared.dataTask(with: url) { (data, response, err) in

        guard let data =  data else{ return }

        do {

            let courses = try JSONDecoder().decode(Course.self, from: data)
            print(courses.name)


        } catch let jsonErr {
            print("Error serializing json:", jsonErr)
        }

    }.resume()

   }
}

[{"id":"1","name":"sobande_ibukun","member":"blue"}]

The []around 表示它是一个数组。使用以下命令进行解码,它应该可以工作:

let courses = try JSONDecoder().decode([Course].self, from: data)

如果您确定这永远是一门课程,您可以这样做:

print(courses.first!.name)

如果可能有很多课程,您可以打印每个名称:

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

解码错误 - 预期解码 Dictionary 但发现了一个数组 的相关文章

  • 如何显示多维数组第二层的 json 值?

    解决此代码时遇到问题 这些是数组 Array 0 gt stdClass Object id gt 1 name gt delux price gt 213 description gt tv gt 0 breakfast gt 0 par
  • 将 Java pojo 转换为 json 字符串

    我有以下java类 public class TabularDescriptor extends ReportDescriptor private String generatorClass private String targetCla
  • 使用 NSJSONSerialization 解析 JSON

    对此进行了太多讨论 但我不知道如何解决我的问题 这是我从 WorldWeatherOnline 获取的 JSON 数据 JSON 有效 但我不知道如何解析它 这是我的代码 后面是 JSON 请帮忙 NSError errorInfo NSD
  • 使用 JSON 解析问题警告

    我正在尝试从网站读取 JSON 数据 我在 Windows 10 上使用 Dev C 和 mingw 编译器 这是我尝试在静态项目中运行的教程中的 JSON 解析器 define CURL STATICLIB include
  • 解析错误:第 2 行第 0 列的数字文字无效

    我正在尝试读取一个大的 json 数据结构 我收到消息 解析错误 第 2 行第 0 列的数字文字无效 我正在使用的命令是下一个 n rules echo rulebase list jq total 该文件在第一层次结构中具有一个变量 该变
  • 替代已弃用的 NSNibLoading 方法(loadNibFile:、loadNibNamed: 等)?

    我发现 NSBundle 中的 NSNibLoading 方法 NSBundle loadNibFile externalNameTable withZone NSBundle loadNibNamed owner NSBundle loa
  • CNContact 添加新的联系人问题

    我在通过以下方式添加联系人时遇到问题联系框架 我使用的是装有 iOS 12 1 2 的 iPhone 5s 设备 我添加联系人的代码如下 let saveRequest CNSaveRequest saveRequest add self
  • 如何保存 1 个 xcode 项目中的所有构建设置并在其他 xcode 项目上使用它们?

    我使用 xcode 4 5 和 cordova phonegap 来构建我的应用程序 我投入了大量时间来获取适合我的 Xcode 项目的构建设置 并且我想在我正在构建的多个应用程序上重用这些设置 我正在寻找是否有一种快速的方法来导出这些设置
  • Swift 中的弹出视图

    我有一个弹出视图 没有选项卡栏 它弹出到带有选项卡栏的视图控制器 在带有选项卡栏的视图控制器中 我设置了一个单击按钮 以便弹出视图控制器 IBAction func PopUpClicked sender UIButton gt Void
  • iOS Swift 检测键盘事件

    我能以某种方式检测来自 iOS 键盘的事件吗 我想检测此类事件UIViewController哪个没有UITextField或任何此类物体 我只有四个圆圈UIView我想在按下键盘上的按钮时将它们涂成不同的颜色 您没有任何对象可以从键盘获取
  • 将新属性动态添加到 Node 中现有的 JSON 数组中

    我需要添加当前 JSON 中不存在的属性 json 对象如下所示 var jsonObj result OK data 我想在 数据 中添加温度 我可以像下面那样做 jsonObj data push temperature 然后 我想在
  • 在 postgresql 9.4 或 9.5 中查询 json 对象的嵌套数组中的元素

    studentID 1 StudentName jhon Data schoolname school1 enrolmentInfo year 2015 info courseID csc213 school IT enrollmentda
  • 在 Mac OS X Yosemite 10.10.1 上包含搜索路径

    我只是为了更改包含搜索路径顺序 我相信 I d like to change the include search path Especially I need usr local include first 但它不会因为重复而改变 我怎样
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • 将 JSON 反序列化为自定义列表

    我有这个 json var x 99 abc 2dp GroupNum 0 Total 4 1 7 x date 60 x 1dp GroupNum 1 存在以下规则 让i参考内部列表索引 x i 0 必填项 始终为整数 x i 1 必填项
  • XCode:代码覆盖率数据生成失败

    当我尝试运行单元测试时 我在 Objective C 项目中遇到了这个可怕的问题 我已经尝试了以下所有方法 根据各种 SOF 帖子 清除派生数据 删除 Library 中的所有模拟器设置 重新启动 XCode 重新启动MBP 多次重置模拟器
  • json、rails、javascript 中的解析错误

    我需要将 ruby 数组放入 javascript 数组中 但出现解析错误 var characters 这就是我将 ruby 嵌入到内联 javascript 中的方式 但它出现了解析错误 我应该如何将此 ruby 数组放入 javasc
  • 打印附加结构(swift 4)

    我有三个 textifled 用于将数据附加到结构中 如何打印我附加的内容 现在我收到一条错误消息 import UIKit class ViewController UIViewController IBOutlet var c UITe
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档

随机推荐

  • Jackson - 反序列化一个基本枚举

    是否可以反序列化具有基于一的索引的枚举 enum Status Active Inactive status 1 表示 Status Active 但 Jackson 将其设为 Status Inactive public enum Sta
  • Bookdown:单个 html 输出文件

    如果我在第一行下面添加一行 output yml bookdown gitbook split by none css in the bookdown 演示 https github com rstudio bookdown demo输出变
  • 在vim中,我如何回到搜索之前的位置?

    在 vim 中编程我经常去搜索一些东西 拉出它 然后返回到我所在的位置 插入它 修改它 问题是 在我搜索并找到之后 我需要手动找到回到原来位置的路 有没有一种方法可以自动返回到我上次搜索时所在的位置 Ctrl O takes me to t
  • 通过 Safari 打开时,Firebase 动态链接不会重定向到应用程序

    我已经添加了Firebase Dynamic Link在我的应用程序中 当我打开iPhone链接通过Google Chrome 它会将我重定向到应用程序 但是当我尝试通过以下方式打开应用程序时Safari 我通过 Notes 打开链接 而不
  • 使用GD PHP给PNG图像加水印时出现部分黑色背景

    我已经拼凑了一个 PHP 类来使用 PHP 的 GD 函数执行各种与图像相关的功能 它适用于所有图像类型 旋转 翻转 调整大小 裁剪以及较小程度的水印 除后者外 所有这些都可以完美运行 例如 经过一些更改后 旋转的 PNG 图像保留了透明度
  • 在 Windows 8 Metro C# 中显示存储文件

    我想在 UI 上显示资产中的图像文件 我设法将该项目存储为StorageFile 我怎样才能显示它 我尝试在 XAML 中显示它
  • 每当存在具有焦点的只读文本框时,无法检测到按键事件上的 Ctrl + 键快捷键

    我以为我自己解决了这个问题 但它又回来困扰我的应用程序 所以这里是 我在带有几个禁用和只读文本框的表单中注册了以下 keydown 事件处理程序 它们只是按钮的简单快捷方式 private void AccountViewForm KeyD
  • ffmpeg 用于将视频编码为 H264 编解码器格式

    我有一个 mp4 视频文件 MPEG4 视频编解码器 我试图在 Linux 上使用 ffmpeg 将其转换为 H264 视频编解码器格式 原始 h 264 格式 版本 FFmpeg 版本 SVN r0 5 1 4 0 5 1 1ubuntu
  • 如何注册我的 Android 应用程序来解析网站

    我应该如何注册我的 Android 应用程序 或 设备来解析推送站点以获取通知 现在我已连接到 GCM 我无法继续使用解析来注册我的设备 这是基于标准推送通知实现官方 Parse SDK 的最佳方法我的经历 and 多次尝试和错误并且许多
  • 音乐分析和可视化

    我对用 Python 编写音乐可视化工具感兴趣 第一个问题是如何从音乐中获取信息 如音量 频率 转速等 从哪里来 来自声卡还是实际的音乐文件 我的猜测是来自声卡 但是我如何访问声卡和想要的信息 最好以独立于平台的方式 Linux 是必须的
  • IOS:使用 NSUserDefault 存储数组

    我想存储一个数组NSUserDefault 然后 我输入applicationDidEnterBackground NSUserDefaults standardUserDefaults setObject myArray forKey m
  • 递推的复杂度 T(n)=T(n/2T(n/2)+n^2?

    根据主定理 这个递归是 n 2 但是如果我们用树递归来解决这个问题 那么解就是 n 2 logn 难道我做错了什么 如果递推关系为 T n 2T n 2 n 2 那么您处于主定理的第三种情况 并且正则性条件适用 因此 T n Theta n
  • Firebase Crashlytics 无效密钥错误

    我想将 Firebase Crashlytics 集成到我的 Android 游戏中 使用 Cocos2D X 引擎开发 我已按照中提到的步骤进行操作这个链接 https firebase google com docs crashlyti
  • osx 和 clion,找不到 omp.h

    如何说服 cmake 在 CLion 内 我有可用的 OpenMP 标头 我正在尝试编译这个项目SCD https github com DAMA UPC SCD我收到以下错误 15 Building CXX object tools se
  • 通过使用 tibble 中不同行的值来改变值

    我想计算一个节点到根的距离dtr 我拥有的只是一个向量 其中包含每个节点的父节点 idrel 在这个例子中id 7是根 library tidyverse tmp lt tibble id 1 12 rel c 2 7 4 2 4 5 7
  • 如何向宿主元素添加“类”?

    我不知道如何添加到我的组件中
  • 用 scala 替换列表中的元素

    如何用不可变列表按索引替换元素 E g val list 1 2 3 4 List list replace 2 5 如果你想替换索引2 那么 list updated 2 5 Gives 1 2 5 4 Nil 如果你想找到所有有 2 的
  • 无法在 Android Studio 中创建 Android 项目(I/0 预览版)130.737825 (Mac)

    我今天打开 Android Studio 它要求升级到最新版本 我照做了 现在我无法创建新项目 我按照向导创建了一个项目 并完成了项目的创建 但结果不是我所期望的 并且我在控制台中收到错误 我得到的错误是 Can t deserialize
  • LINQ to Entities 无法识别方法 'Int32 Last[Int32]

    这有什么问题吗 int folderid from p in db folder where p isDefault true select p id Last 我收到这个错误 LINQ to Entities does not recog
  • 解码错误 - 预期解码 Dictionary 但发现了一个数组

    我是 swift 编程和 Xcode 的新手 我尝试使用 Json 编码将 mysql 数据从数据库调用到 Xcode 我能够成功调用所有数据 数组 但是当我决定仅调用一个值 列 例如 Courses name 时 我收到 解码错误 预期解