2014-10-09 98 views
0

我正在做一个与服务器通信的IOS(swift)应用程序。 来自服务器的响应是一个包含一些JSON对象的JSON数组。 当我告诉通过控制台进行串反应是罚款:解析器到json使用swift的JSON数组

[{"NAME":"","SURNAME":"","ID":5,"USERNAME":"dpcabo2"},{"NAME":"","SURNAME":"","ID":10,"USERNAME":"default"},{"NAME":"","SURNAME":"","ID":11,"USERNAME":"esteban"}] 

但是当我试图解析这个信息以此来JSON:

var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(self.my_data!, 
       options:NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary 

println("\(jsonResult)") 

应用程序崩溃。

所以我需要一个解决方案正确解析这个信息。

Ps.self.my_data!是一个NSMutableData。

谢谢

+0

什么让你觉得'jsonResult'应该是'NSDictionary'?你甚至可以自己说服务器返回一个JSON **数组**。 – borrrden 2014-10-09 10:20:05

+0

ummm,我不知道,当服务器返回只有一个用户它发送一个JSON对象,这种方式运行正常,但是当返回一个JSON数组我不知道如何解析器,一些想法? – user3086708 2014-10-09 10:22:20

回答

0

您可以使用下面的代码进行解析。它打印并正确解析你的对象。

import Foundation 

let jsonObject: [AnyObject] = [ 
    ["NAME":"","SURNAME":"","ID":5,"USERNAME":"dpcabo2"], 
    ["NAME":"","SURNAME":"","ID":10,"USERNAME":"default"], 
    ["NAME":"","SURNAME":"","ID":11,"USERNAME":"esteban"] 
] 


let jsonOptional: AnyObject! = NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions(0), error: nil) 

响应是如下:

[["USERNAME": "dpcabo2", "ID": 5, "NAME": "", "SURNAME": ""], 
["USERNAME": "default", "ID": 10, "NAME": "", "SURNAME": ""], 
["USERNAME": "esteban", "ID": 11, "NAME": "", "SURNAME": ""]] 
+0

thansk so muchhhhh !!!!运行良好;) – user3086708 2014-10-09 12:59:13