我正在尝试使用 swift 4 解析 json,请告诉我它有什么问题?

MALIKK HABIB UR REHMAN

我正在尝试使用以下方法解析 JSON,但 XCode 在我声明 "data" 时给了我一个错误。

我是新来的,我不明白什么是错的。请帮我。

import UIKit

struct Contacts: Decodable {

    let id: Int
    let name: String
    let email: String

}

class ViewController: UIViewController {

    override func viewDidLoad()
    {
        super.viewDidLoad()

        let urlString = "https://api.androidhive.info/contacts/"
        guard let url = URL(string: urlString) else {return}

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

        guard let data = data  else {return}
        //let datastring = String(data: data, encoding: .utf8)

        do
        {
            let contact = try JSONDecoder().decode([Contacts].self, from: data)
            print(contact.name)

        } catch let jsonErr {
            print("Error deserializing json:", jsonErr)
        }
    }
}
瓦迪安

三大问题。

  1. 您忽略了根对象,它是包含contacts数组的字典
  2. key 的值idString,不是Int
    一个硬性规则是:双引号中的所有内容都是String偶数"12""false"
  3. 您必须恢复任务并将用于解析 JSON 的代码放入完成处理程序中。

struct Root : Decodable {

    let contacts : [Contact]
}

struct Contact : Decodable { // It's recommended to name this kind of struct in singular form

    let id, name, email: String
}

...

override func viewDidLoad()
{
    super.viewDidLoad()

    let urlString = "https://api.androidhive.info/contacts/"
    guard let url = URL(string: urlString) else {return}

    URLSession.shared.dataTask(with: url) { (data, response, error) in
       if let error = error { print(error); return }

       do {
          let result = try JSONDecoder().decode(Root.self, from: data!)
          let contacts = result.contacts
          for contact in contacts {
              print(contact.name)
          }

       } catch {
           print("Error deserializing json:", error)
       }

    }.resume()
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Swift中从json解析我的数据有什么问题?

来自分类Dev

在 ObjC 中工作,而不是在 swift 中工作。我在 swift 中使用 JSON 解析有什么问题

来自分类Dev

pygame跳跃系统出现问题。请告诉我我的代码有什么问题

来自分类Dev

为什么gunicorn经常告诉我它有4个工人?

来自分类Dev

请告诉我我的代码有什么问题吗?

来自分类Dev

这是我的连接字符串,请告诉我有什么问题

来自分类Dev

Swift 4 Json 解析

来自分类Dev

使用 Swift 4 进行 JSON 解析

来自分类Dev

如何使用 swift 4 解析 JSON

来自分类Dev

解析嵌套的 JSON SWIFT 4

来自分类Dev

我收到运行时错误NZEC请告诉我是什么问题

来自分类Dev

尝试仅使用标准库在 Swift 4 中解析 HTML

来自分类Dev

Swift 4 使用 Alamofire 解析 JSON 以获得关键值的痛苦

来自分类Dev

有人可以告诉我我的package.json文件出了什么问题吗?

来自分类Dev

有人可以告诉我我的package.json文件出了什么问题吗?

来自分类Dev

我在使用JSON解析时出了什么问题?(iOS)

来自分类Dev

使用Swift解析JSON

来自分类Dev

谁能告诉我我的代码出了什么问题

来自分类Dev

谁能告诉我我的功能出了什么问题?

来自分类Dev

有人可以告诉我我的代码有什么问题吗?

来自分类Dev

有人可以告诉我我的代码有什么问题吗?[Python 2.7.1]

来自分类Dev

Swift 4:我在前面声明的“使用未解析的标识符”

来自分类Dev

在 Swift4 上解析 JSON

来自分类Dev

Swift 4 以变量为关键解析 json

来自分类Dev

swift 4:无法解析 JSON 响应

来自分类Dev

我需要有人告诉我代码中的逻辑出了什么问题

来自分类Dev

有人可以告诉我我的Type或linq查询出了什么问题吗

来自分类Dev

有人可以告诉我我的代码有什么问题并尝试对其进行解释吗?

来自分类Dev

有人可以告诉我这段代码有什么问题吗

Related 相关文章

  1. 1

    在Swift中从json解析我的数据有什么问题?

  2. 2

    在 ObjC 中工作,而不是在 swift 中工作。我在 swift 中使用 JSON 解析有什么问题

  3. 3

    pygame跳跃系统出现问题。请告诉我我的代码有什么问题

  4. 4

    为什么gunicorn经常告诉我它有4个工人?

  5. 5

    请告诉我我的代码有什么问题吗?

  6. 6

    这是我的连接字符串,请告诉我有什么问题

  7. 7

    Swift 4 Json 解析

  8. 8

    使用 Swift 4 进行 JSON 解析

  9. 9

    如何使用 swift 4 解析 JSON

  10. 10

    解析嵌套的 JSON SWIFT 4

  11. 11

    我收到运行时错误NZEC请告诉我是什么问题

  12. 12

    尝试仅使用标准库在 Swift 4 中解析 HTML

  13. 13

    Swift 4 使用 Alamofire 解析 JSON 以获得关键值的痛苦

  14. 14

    有人可以告诉我我的package.json文件出了什么问题吗?

  15. 15

    有人可以告诉我我的package.json文件出了什么问题吗?

  16. 16

    我在使用JSON解析时出了什么问题?(iOS)

  17. 17

    使用Swift解析JSON

  18. 18

    谁能告诉我我的代码出了什么问题

  19. 19

    谁能告诉我我的功能出了什么问题?

  20. 20

    有人可以告诉我我的代码有什么问题吗?

  21. 21

    有人可以告诉我我的代码有什么问题吗?[Python 2.7.1]

  22. 22

    Swift 4:我在前面声明的“使用未解析的标识符”

  23. 23

    在 Swift4 上解析 JSON

  24. 24

    Swift 4 以变量为关键解析 json

  25. 25

    swift 4:无法解析 JSON 响应

  26. 26

    我需要有人告诉我代码中的逻辑出了什么问题

  27. 27

    有人可以告诉我我的Type或linq查询出了什么问题吗

  28. 28

    有人可以告诉我我的代码有什么问题并尝试对其进行解释吗?

  29. 29

    有人可以告诉我这段代码有什么问题吗

热门标签

归档