Swift 3에서 일하고 있습니다. 지금까지 JSON을 실제로 사용하지 않았습니다. 난 단지 query
때까지 데이터를 구문 분석 할 수있는이 문제에 직면하고있다. 그 후 데이터가 파싱되지 않습니다. 내가 여기서 뭘 잘못하고 있는지 알게 도와주세요.Alamofire를 사용하여 Swift 3에서 JSON을 구문 분석하는 방법은 무엇입니까?
JSON 코드 :
{
"batchcomplete": "",
"continue": {
"gpsoffset": 10,
"continue": "gpsoffset||"
},
"query": {
"pages": {
"445066": {
"pageid": 445066,
"ns": 0,
"title": "RoboCop",
"index": 3,
"thumbnail": {
"source": "https://upload.wikimedia.org/wikipedia/en/thumb/1/16/RoboCop_%281987%29_theatrical_poster.jpg/32px-RoboCop_%281987%29_theatrical_poster.jpg",
"width": 32,
"height": 50
}
},
"25781": {
"pageid": 25781,
"ns": 0,
"title": "Robot",
"index": 1,
"thumbnail": {
"source": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/HONDA_ASIMO.jpg/37px-HONDA_ASIMO.jpg",
"width": 37,
"height": 50
}
},
"2629669": {
"pageid": 2629669,
"ns": 0,
"title": "Robot-assisted surgery",
"index": 8,
"thumbnail": {
"source": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Laproscopic_Surgery_Robot.jpg/34px-Laproscopic_Surgery_Robot.jpg",
"width": 34,
"height": 50
}
},
"1527386": {
"pageid": 1527386,
"ns": 0,
"title": "Robot Chicken",
"index": 9
},
"364093": {
"pageid": 364093,
"ns": 0,
"title": "Robot Wars (TV series)",
"index": 2
},
"3977472": {
"pageid": 3977472,
"ns": 0,
"title": "Robot competition",
"index": 10
},
"26333": {
"pageid": 26333,
"ns": 0,
"title": "Robotech",
"index": 5,
"thumbnail": {
"source": "https://upload.wikimedia.org/wikipedia/en/thumb/9/99/RobotechTitle1985.jpg/50px-RobotechTitle1985.jpg",
"width": 50,
"height": 38
}
},
"20903754": {
"pageid": 20903754,
"ns": 0,
"title": "Robotics",
"index": 4,
"thumbnail": {
"source": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Shadow_Hand_Bulb_large.jpg/33px-Shadow_Hand_Bulb_large.jpg",
"width": 33,
"height": 50
}
},
"893808": {
"pageid": 893808,
"ns": 0,
"title": "Robots (2005 film)",
"index": 7
},
"101673": {
"pageid": 101673,
"ns": 0,
"title": "Robots exclusion standard",
"index": 6
}
}
}
}
스위프트 코드 :
var readableJSON = try JSONSerialization.jsonObject(with: JSONData, options:.mutableContainers) as? JSONStandard
print(readableJSON)
if let query = readableJSON?["query"] as? JSONStandard{
print(query," Here!! ")
if let pages = readableJSON?["pages"] as? [JSONStandard]{
print(pages," Check this! ")
for i in 0..<pages.count{
let page = pages[i]
let id = page ["id"] as! String
//titles.append(id)
self.tableView.reloadData()
}
}
}
그리고 당신은 pages
각각의 새로운 블록이 어떤 식별자없이 선언 된 블록에서 보는, 그래서 어떻게 전화처럼 그 특별한 블록?
신속한 기본 방법을 사용하고 alarmofire를 사용하지 않고 json pasing을 수행 할 수 있습니다. –
@Balvansh Heerekar 코드에 어떤 문제가 있습니까? 오류가 무엇입니까? 그것은 당신이 "쿼리"내에 "페이지"가있는 것처럼 보입니다 당신이 잘못 구문 분석하고 있습니다. –
모든 키 페이지를 가져올 수 있으며 키 값 쌍인 –