2016-11-21 165 views
0

我使用swift2正在解析JSON數據到UITableView,當單擊單元格將其移動到其他視圖控制器和一些數據讀取到標籤盒,其完美的作品開發的應用程序。問題是當我點擊表格視圖中的任何單元格時,它將相同的數據提取到視圖控制器我不知道如何解析數據到循環語句。解析JSON數據SWIFT 2

JSON數據(數據正在從服務器recieving):

{ 
    item: [ 
    { 
    name: "name1", 
    id: "1", 
    }, 
    { 
    name: "name2", 
    id: "2" 
    } 
    ] 
} 

代碼是我曾嘗試:

形成的出口標籤和labelid

var arrDict :NSMutableArray=[] 
let urlstring = "www.anything.com" 
let url = NSURL(string: urlString) 
let data = try? NSData(contentsOfURL: url, options: []) 
let json = JSON(data: data) 
print(json) 

//it helps to print all the json data in console 

現在幫我配for循環工作語句

+0

你JSON是無效的。 – JeremyP

+0

就是複製一個 –

回答

0

試試這個,它可以幫助你: - 印

for (_, subjson): (String, JSON) in json["item"]{ 

    print("YOUR SUBJSON VALUE>> \(subjson["name"].stringValue)") 
        } 
+0

是的,它的效果很好....謝謝 –

+0

當我在控制檯打印時,它執行得很好,但解析相同的數據標籤框...因爲func在索引路徑選擇了行,我只是連接到其他視圖控制器。在其他視圖控制器有四個標籤框我必須解析數據到 –

+0

你可以提供任何例子來使用func做索引路徑選擇行 –

-1

採取一個NSArray所有JSON數據(如果數據是在陣列)

是這樣的:

let arr = json as! NSArray的

因爲我在0 ... arr.count-1

{

讓項目=改編[I]作爲!的NSMutableDictionary

VAR ABC = items.valueForKey( 「名字」))作爲!字符串 //這樣你就可以採取所有數組值

}

希望它會幫助你。

+0

你可以更詳細一點....謝謝 –

0
var listArray = Dictionary<String, AnyObject>() 
listArray["name"] = json["item"]?.valueForKey("name") as! Array 
listArray["id"] = json["item"]?.valueForKey("id") as! Array 

var name = [""] 
var id = [""] 

name = listArray["name"] as! Array 
id = listArray["id"] as! Array 

for i in 0..<name.count{ 
    print(name[i]) 
    print(id[i]) 
} 
hope it will help 
+0

我會按照你的方法,並在回信中....感謝您的答覆 –

+0

我怎樣使用listArray工作for循環....對不起 –

0

嘗試這種方式

let array = json["item"] as! [NSDictionary] 
for dict in array { 
    let name = dict["name"] as! String 
    let id = dict["id"] as! String 
} 

我希望這將幫助你

+0

耶sure..i將檢查和reply..thank你的回答 –

+0

它給我的警告爲:投從JSON到不相關類型的NSDictionary中總是失敗 –

+0

把這個讓dataDict = JSON作爲! NSDictionary –