使用swift 2

时间:2016-11-21 12:39:35

标签: ios json swift for-loop swift2

我正在使用swift2开发一个应用程序,正在将JSON数据解析为UITableView,当单击它移动到其他视图控制器的单元格并将一些数据提取到标签框时,它可以正常工作。问题是,当我单击表视图上的任何单元格时,它将相同的数据提取到视图控制器,我不知道如何将数据解析为for循环语句。

Json数据(从服务器收到的数据):

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

编码我的尝试:

创建了outlet labelname和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 

现在帮我处理forloop语句

4 个答案:

答案 0 :(得分:1)

试试这个,它可以帮助你: -

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

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

答案 1 :(得分: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

答案 2 :(得分:0)

试试这种方式

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

我希望这会对你有所帮助

答案 3 :(得分:-1)

获取NSArray中的所有json数据(如果数据在数组中)

像这样:

让arr = json为! NSArray的

for i in 0 ... arr.count-1

{

让items = arr [i]为!的NSMutableDictionary

var abc = items.valueForKey(“name”))as!串 //像这样你可以获取所有数组值

}

希望它会对你有所帮助。