【问题标题】:How to decode Firebase JSON with autoID如何使用 autoID 解码 Firebase JSON
【发布时间】:2018-04-10 02:05:33
【问题描述】:

我正在尝试使 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 会创建新的 uniqueID。我正在尝试创建一个允许我存储 Firebase JSON 数据的对象。在所有在线示例中,总是显示名称和值。在上面的例子中,uniqueID 就是值。我正在寻找如何创建一个可用于在只有唯一值时对数据进行解码的类。

【问题讨论】:

    标签: json swift firebase decode swift4


    【解决方案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 类型(只要它的 keysvalues 也是可解码的)。

    【讨论】:

    • @OlderCoder 嘿伙计,如果这解决了您的问题,请务必在有机会时将其标记为已接受的答案。谢谢,欢迎来到!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多