【问题标题】:SwiftyJSON Parse JSON error for array objectSwiftyJSON 解析数组对象的 JSON 错误
【发布时间】:2016-08-08 04:13:33
【问题描述】:

我正在从这样的 URL 中检索数据:

let url = NSURL(string: baseURL)
        let request = NSURLRequest(URL: url!)
        let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
        let task = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
            if error == nil {
                let swiftyJSON = JSON(data: data!)
                let results = swiftyJSON[0]["name"]
                print(results)
            } else {
                print("error")
            }
        }

对于上述,我得到这样的数据:

[  
   {  
      "_id":"123",
      "_rev":"345",
      "name":"hey"
   },
   {  
      "_id":"133",
      "_rev":"33345",
      "name":"hello"
   }
]

我总是遇到错误块,我不知道为什么?

我将 JSON 粘贴到 chrome 控制台中并且能够执行 swiftyJSON[0].name。我想打印上述 json OBJECT 中的所有元素。

错误:

error Optional(Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo={NSUnderlyingError=0x7f87514ab570 {Error Domain=kCFErrorDomainCFNetwork Code=-1003 "(null)" UserInfo={_kCFStreamErrorCodeKey=8, _kCFStreamErrorDomainKey=12}}, NSErrorFailingURLStringKey=http://localhost:3000/idea, NSErrorFailingURLKey=http://localhost:3000/idea, _kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, NSLocalizedDescription=A server with the specified hostname could not be found.})

请注意,localhost:3000 已开启。

【问题讨论】:

  • 该错误与解析 Json 无关。这是关于连接到您的本地主机。确保设备配置到本地主机上的相同端口。

标签: json swift xcode swifty-json


【解决方案1】:

您粘贴的错误可能是未找到请求的主机名。 “找不到具有指定主机名的服务器。” JSON 解析似乎完全正确。

【讨论】:

  • 你是用模拟器还是真正的 iphone 运行你的应用程序?
【解决方案2】:

错误不在 JSON 数据中。由于 URL http://localhost:3000/idea 不起作用,因此无法首先检索数据。

很可能,该 URL 在您的 Mac 上有效,但在您的 iPhone 上无效。仅当您的服务器端在 iPhone 或模拟器本身上运行时,该 URL 才有效,这不太可能。

localhost 不是全局地址。在您的 Mac 上,它指的是您的 Mac。在 iPhone 上,它指的是 iPhone 本身。

在 Mac 上打开 Network Utility 应用程序,查找 IP 地址并将localhost 替换为您的 IP 地址,例如http://192.168.1.37:3000/idea。然后您的 iOS 应用将能够检索数据。

【讨论】:

    猜你喜欢
    • 2019-06-03
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    相关资源
    最近更新 更多