json - 迭代数组以填充 tableviewcells 的 Swift 方法

标签 json swift

我正在尝试使用 http POST 获取 JSON 数组来填充我的 tableviewcontroller。这是我现在的代码:

let myJSON = try JSONSerialization.jsonObject(with: data!, options: []) as! NSArray
    print (myJSON)
    let testArr = myJSON[0] as! [String:Any]
    print (testArr)
    let testVar = testArr["Username"] as! String
    print (testVar)

    for object in myJSON {
        //error line below
        guard let cellItem = History1(name: object.Username, status: "Placeholder") else {
            fatalError("cannot create")
        }
        self.history1s += [cellItem]
    }

myJSON 是来自 mysql 语句“SELECT * FROM USER”的 json 响应。现在我遇到错误“‘Any’类型的值没有成员‘用户名’。将用户名括在方括号中会出现错误“未解析的标识符用户名的用户”

我真的不明白为什么打印可以工作,但下面的循环却不能。

我认为我采用这种方法的方式存在根本性错误。我对 Swift 很陌生,所以很多术语对我来说可能没有意义。任何建议将不胜感激。

最佳答案

您可以尝试按键循环,然后按键获取对象

for key in myJSON.keys {
//error line below
guard let cellItem = History1(name: myJSON[key].Username, status: "Placeholder") else {
fatalError("cannot create")
}
self.history1s += [cellItem]
}

关于json - 迭代数组以填充 tableviewcells 的 Swift 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41540485/

相关文章:

json - 读入json文件,写入不缩进

java - 从 firebase 数据库获取数据

json - 在 Monaco Editor 中点击按钮折叠展开

ios - 在 Firestore 中使用 .getDocuments 并尝试将文档 ID 放入数组并使用 tableview 显示它们后无法显示数据

ios - 当标签栏点击两次时禁用自动弹出到 Root View Controller

ios - nextTriggerDate() 不返回 'expected' 值,是否有其他方法来获取重复本地通知的下一个触发日期?

ios - Swift--读取JSON文件

ios - 根据 Int 查找 JSON 字典中的前 10 项

ios - 从 View Controller 访问 TableView 单元格中的 UISegmentedControl

javascript - 第 26 行出现意外标记 },但第 26 行 ajax 调用上没有 }