【发布时间】:2018-04-30 00:29:18
【问题描述】:
我已经尝试了几次,但没有成功。我使用 Swift3 使其可扩展,并且可以获取 JSON 数据,但是在将数据解析为仅显示一个的可扩展表视图时。这是我使用的编码:
这里是 JSON:
"project": [
{
"bu_name": "IT and Digital Ecosystem Solution Delivery",
"project_list": [
{
"project_id": 8791520,
"project_name": "MobApps Radio"
}
]
},
{
"bu_name": "Business Solution, Delivery & MO",
"project_list": [
{
"project_id": 8791392,
"project_name": "Research and Development Hololens (Augmented Virtual Reality)"
},
{
"project_id": 8790857,
"project_name": "Application Development for Probis Digital Service”
},
{
"project_id": 8436483,
"project_name": "Non Project - Application DMO"
},
{
"project_id": 8179950,
"project_name": "Release Quality Improvement"
},
{
"project_id": 7548089,
"project_name": "Application Development" }
]
}
]
这里编码获取JSON数据:
var perfArrProjectId = [String]()
var perfArrProjectName = [String]()
var namabu = ""
if let itemProject = jsonData?["project"] as? NSArray {
for i in 0..<itemProject.count {
if let obj = itemProject[i] as? NSDictionary {
let stringBU = obj.makeIterator().next()
namabu = stringBU?.value as! String
print("BU Name: \(namabu)")
let buName2 = obj["bu_name"] as! String
perfArrBuName.append(buName2)
guard let projectList = obj["project_list"] as? [[String: Any]] else {return}
for list in projectList {
let projectId = list["project_id"] as! Int
let projectName = list["project_name"] as! String
perfArrProjectId.append(String(projectId))
perfArrProjectName.append(projectName)
print("_Project ID: \(projectId) \n_Project Name: \(projectName) \n”)
listPerformances = [
ModelPerformances(bussines: namaBU, projectid: perfArrProjectId, projectName: perfArrProjectName expand: false)
]
}
}
}
}
这里输出:
BU Name: IT and Digital Solution Delivery
__Project ID: 8791520
__Project Name: MobApps Radio
BU Name: Business Solution, Delivery & MO
__Project ID: 8791392
__Project Name: Research and Development (Augmented Virtual Reality)
__Project ID: 8790857
__Project Name: Application Development for Digital
__Project ID: 8436483
__Project Name: Non Project - Application DMO
__Project ID: 8179950
__Project Name: Release Quality Improvement Program
__Project ID: 7548089
__Project Name: Application Development
【问题讨论】: