- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 SwiftyJSON 解析以下 JSON 结构,但我无法弄清楚如何循环遍历“sections”节点。我当前的代码返回每个部分的第一个部分节点,但我无法访问“Section 1b/Section 2b”元素。
{
"category": [{
"categoryId": 1,
"categoryHeader": "Category 1",
"sections": [{
"section": "Section 1a title",
"body": "Section 1a body"
}, {
"section": "Section 1b title",
"body": "Section 1b body"
}]
}, {
"categoryId": 2,
"categoryHeader": "Category 2",
"sections": [{
"section": "Section 2a title",
"body": "Section 2a body"
},{
"section": "Section 2a title",
"body": "Section 2b body"
}]
}]
}
我的代码是:
let path: String = NSBundle.mainBundle().pathForResource("jsonFile", ofType: "json") as String!
let data = NSData(contentsOfFile: path) as NSData!
var objects = [[String: String]]()
let json = JSON(data: data)
func parseJSON(json: JSON) {
for category in json["category"].arrayValue {
let categoryHeader = category["categoryHeader"].stringValue
let section = category["sections"][0]["section"].stringValue
let sectionBody = category["sections"][0]["body"].stringValue
let obj = ["categoryHeader": categoryHeader, "section": section, "body": sectionBody] //, "body": body, "title": sigs]
objects.append(obj)
}
tableView.reloadData()
}
我知道我需要循环遍历各部分以检索所有值,但我不知道如何操作。
编辑:尝试使用以下命令来执行此操作允许我访问所有部分节点;但随后“categoryHeader”会输出“x”次,具体取决于有多少个部分:
func parseJSON(json: JSON) {
for category in json["category"].arrayValue {
let categoryHeader = category["categoryHeader"].stringValue
for section in category["sections"].arrayValue {
let sectionName = section["section"].stringValue
let body = section["body"].stringValue
let obj = ["categoryHeader": categoryHeader, "section": sectionName, "body": body]
objects.append(obj)
}
}
}
最佳答案
一种方法可能是这样的。
编辑:我让这段代码在 Playground 上工作。
var objects = [[String: String]]()
func parseJSON(json: JSON) {
let jsonResults = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as! NSDictionary
let json = JSON.self(jsonResults)
// let json = JSON(data: data) // moved this line
let count: Int? = json.dictionary?.count
let ct = 0
if ct < count {
for index in 0...count!-1 {
for category in json["category"].arrayValue {
let categoryHeader = category["categoryHeader"].stringValue
let section = category["sections"][0]["section"].stringValue
let sectionBody = category["sections"][0]["body"].stringValue
let obj = ["categoryHeader": categoryHeader, "section": section, "body": sectionBody] //, "body": body, "title": sigs]
objects.append(obj)
}
}
tableView.reloadData()
}
关于ios - SwiftyJSON - 解析时如何循环子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35465069/
我有:- var myArray:Array = array 我想要:- var myJSON:JSON = myArray as? JSON 但我收到警告:-从“数组”转换为无关类型“JSON”总是
真的很麻烦。我在 App Store 上有几个应用程序,其中一些使用 SwiftyJSON,但后一个很奇怪。我正在尝试将其上传到 App Store,但出现了这个奇怪的错误。 No suitable
从我之前的问题中你可以看出,我在解析 JSON 数据时遇到了很多麻烦。经过几天的头痛之后,我认为最好的方法仍然是使用 alamofire/swiftyjson。我还发现了 alamofire-swif
当我将我的 SwiftyJSON 文件添加到我的项目时,它有大约 45 个错误,其中大约 44 个将 as 更改为 as!。现在我被困在第 238 行的最后一个,然后我就可以走了。错误说: 无法将“A
我一直在使用模拟器来测试我的应用程序。今天我决定在模拟器中使用其他设备对其进行测试,令我惊讶的是它在某些设备上启动时崩溃,而在其他设备上却运行良好 我的应用构建运行于: iPad 空气 可调整大小的
这是问题的续集:dyld: Library not loaded: @rpath/SwiftyJSON.framework/SwiftyJSON 从头开始重建项目后(新项目、新 podfile、新文件
我试图弄清楚 SwiftyJSON 但我遇到了问题 下面显示的代码工作正常 import UIKit class ViewController: UIViewController {
我有对象 {"FIELD NAME":{ "SUBNAME":{ "FIELD_ONE":"DATA", "FIELD_TWO":"
我正在使用 SwiftyJSON,这很棒。但是,我在将 JSON(data:) 结果存储在我的 viewController 中时遇到问题。 SwiftyJSON 的标准使用效果很好。 let jso
我一直在学习 SWIFT 应用程序中的 JSON 解析。到目前为止,我一直在使用一个简单的免费 API,没有遇到任何问题,应用程序按设计运行。但现在我正在调用一个 API,该 API 返回一个数组内的
SwiftyJSON.swift 文件给我一个错误“NSNumber”对协议(protocol)“Comparable”的冗余一致性 extension NSNumber: Swift.Compara
我正在使用 Alamofire 从 API 获取数据。我正在使用 SwiftyJSON 来解析 JSON 响应。目前,我正在迭代产品数据,并希望提取产品详细信息并将其显示在 Collection Vi
我试图从我的测试目标包中读取一个文件,将该文件转换为 NSData,并将所述数据传递给我的类,然后类使用它来实例化 SwiftyJSON 实例。似乎我的数据生成正确,但是我的 SwiftyJSON 实
我尝试使用 SwiftyJSON 解析以下 JSON 结构,但我无法弄清楚如何循环遍历“sections”节点。我当前的代码返回每个部分的第一个部分节点,但我无法访问“Section 1b/Secti
我有一个由 .rawString() 转换的 JSON 对象的 NSArray,保存在 NSUserDefaults 上。 这是 lanesToReturn NSArray 的打印结果: ( "{\n
我有一个字典数组: var dictArray = [[String:String]]() 我附加了一些字典并将 dictArray 转换为 JSON: let json = JSON(dictArr
如何在不循环的情况下从一个数组到下一个数组? JSON:/image/34BtT.png 我尝试这样做 guard let items = self.json["data"]["reels_media
我有一个包含一些变量的类,我想通过使用 SwiftyJSON 解析 JSON 输出来创建此类的对象数组(我是 SwiftyJSON 的新手,因此在创建时遇到了一些问题一)并使用表格显示它们 谁能帮我创
我尝试用这种结构创建 JSON: var json: JSON = [ "params": [ "token": Utilities.token,
键“children”中包含的数组包含 100 项。 有没有办法告诉 SwiftyJSON 去抓取一个随机索引?我尝试创建一个随机数 var random = arc4random_uniform(2
我是一名优秀的程序员,十分优秀!