PHP側でのJSON出力はどのようになってますか?
lang
1・
2・
3echo json_encode(出力する配列);
lang
1let url: NSURL! = NSURL(string: "http://~/test.php")
2
3 var request: NSURLRequest! = NSURLRequest(URL:url!)
4 let json: NSData! = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil)
5 //NSArray、もしくはNSDictionary(以下のクラスメソッドの戻り値はAnyObject型)
6 let array: NSArray! = NSJSONSerialization.JSONObjectWithData(json, options:NSJSONReadingOptions(), error: nil) as! NSArray
JSONは以下のような構造になると思います。
lang
1[//配列(NSArray)
2 {//連想配列(NSDictionary)
3 "name" = ["Tanaka","Suzuki","Sato"],//"name"をKeyとして取り出せるNSArray
4 "age" = ["20", "30", "40"],//"age"をKeyとして取り出せるNSArray
5 "pref" = ["Tokyo", "Saitama", "Kanagawa"]//"pref"をKeyとして取り出せるNSArray
6 },
7 {//データが2つあるとすれば
8 "name" = ["Tanaka","Suzuki","Sato"],
9 "age" = ["20", "30", "40"],
10 "pref" = ["Tokyo", "Saitama", "Kanagawa"]
11 }
12]
上記の構造を取り出すには
lang
1let array: NSArray! = NSJSONSerialization.JSONObjectWithData(json, options:NSJSONReadingOptions(), error: nil) as! NSArray
2
3let dictionary: NSDictionary = NSDictionary(dictionary: array[欲しい要素番号] as! NSDictionary)
4let name: NSArray = NSArray(array: dictionary["name"] as! NSArray)
5NSLog("tanaka = \(name[0]), Suzuki = \(name[1]), Sato = \(name[2])")
結果
Tanaka = Tanaka, Suzuki = Suzuki, Sato = Sato
ビルドしてないのであってるかはわからないですが大体こんな感じです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/04/20 10:02
2015/04/20 12:05