2014-10-09 60 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