如何使用autoID解码Firebase JSON

时间:2017-10-28 17:21:21

标签: json swift firebase decode swift4

我正在尝试将Swift 4 Decodable改编为我的Firebase数据库创建的JSON:

{
  "sections" : {
    "-KxVQoo6ElOVhoFliQ5s" : {
      "details" : "Residents",
      "row" : "0",
      "section" : "0",
      "task" : "Do evals"
    },
    "-KxVQooF5rNNNOKrlXT9" : {
      "details" : "Phone",
      "row" : "0",
      "section" : "1",
      "task" : "Do bills"
    }
  }
}

当autoID添加元素时,Firebase会创建新的唯一ID。我正在尝试创建一个允许我存储Firebase JSON数据的对象。在线的所有示例中,始终显示名称和值。在上面的例子中,uniqueID就是值。我正在寻找如何创建一个类,当只有一个唯一的值时,该类可用于解码数据。

1 个答案:

答案 0 :(得分:1)

当您的密钥动态时,Dictionary可能更合适。例如:

struct Data: Decodable {
  var sections: [String: Element]
}

然后像往常一样定义Element类型:

struct Element: Decodable {
  var details: String
  var row: String
  var section: String
  var task: String
}

始终值得记住,Dictionary也是Decodable类型(只要其也可解码)。