如何从包含多个JSON的文件中读取JSON?
我的意思是,我看起来像这样:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let currentCellDescriptor = getCellDescriptorForIndexPath(indexPath)
let cell = tableView.dequeueReusableCellWithIdentifier(currentCellDescriptor["cellIdentifier"] as! String, forIndexPath: indexPath) as! CustomCell
if currentCellDescriptor["cellIdentifier"] as! String == "idCellNormal" {
if let primaryTitle = currentCellDescriptor["primaryTitle"] {
cell.textLabel?.text = primaryTitle as? String
}
if let secondaryTitle = currentCellDescriptor["secondaryTitle"] {
cell.detailTextLabel?.text = secondaryTitle as? String
}
}
else if currentCellDescriptor["cellIdentifier"] as! String == "idCellTextfield" {
cell.textField.placeholder = currentCellDescriptor["primaryTitle"] as? String
}
else if currentCellDescriptor["cellIdentifier"] as! String == "idCellSwitch" {
cell.lblSwitchLabel.text = currentCellDescriptor["primaryTitle"] as? String
let value = currentCellDescriptor["value"] as? String
cell.swMaritalStatus.on = (value == "true") ? true : false
}
else if currentCellDescriptor["cellIdentifier"] as! String == "idCellValuePicker" {
cell.textLabel?.text = currentCellDescriptor["primaryTitle"] as? String
}
else if currentCellDescriptor["cellIdentifier"] as! String == "idCellSlider" {
let value = currentCellDescriptor["value"] as! String
cell.slExperienceLevel.value = (value as NSString).floatValue
}
return cell
}
E.g。我想得到一个JSON数组或一个机会来读取1号或4号JSON。
答案 0 :(得分:0)
以上json格式错误。 正确的json格式是
[{
"status": false,
"info": "The email field is required."
},
{
"status": false,
"info": "The email field is required."
},
{
"status": false,
"info": "The email field is required."
},
{
"status": false,
"info": "The email field is required."
},
{
"status": false,
"info": "The email field is required."
},
{
"status": false,
"info": "The email field is required."
}]
这可以作为JSONArray
答案 1 :(得分:0)
如果你可以依赖你所描述的结构,那么这里最简单的解决方案就是将它分成两个连续的 新行 字符,它们将为你提供单独的对象然后可以通过传统方式解析,即。新的JSONObject()...
但是如果你得到的文件没有生成并且可能存在人为错误,那么自动执行这样的过程真的很危险...更安全,但开发成本更高的是通过检查对来构建对象封闭{ }
个字符..你可以从找到第一个开始括号开始,然后在每个下一个连续的开始括号中忽略一个闭合,直到你关闭根对象。这可以通过递归轻松完成
这仍然是防弹的 远 ,但是JSONObject构造函数的最终解析会检测到潜在的错误 。