SwiftyJSON解析数组对象的JSON错误

时间:2016-08-08 04:13:34

标签: json swift xcode swifty-json

我正在从URL中检索数据:

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

对于上述内容,我得到的数据如下:

swiftyJSON[0].name

我总是在错误块中结束,我不知道为什么?

我在Chrome控制台中粘贴了JSON并且能够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.}) 。我想打印上面json OBJECT中的所有元素。

错误:

{{1}}

请注意,localhost:3000已开启。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

最喜欢的是,网址在您的Mac上有效,但在iPhone上则无效。只有当您的服务器端在iPhone或模拟器上运行时,URL才有效,这是不太可能的。

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

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