2017-10-28 89 views
1

我想斯威夫特4 Decodable适应我的火力地堡数据库中创建的JSON解码:如何火力地堡JSON与自动识别

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

火力地堡时将创建元素通过自动识别添加新UNIQUEID。我正在尝试创建一个对象,允许我存储Firebase JSON数据。在在线的所有示例中,总是显示名称和值。在上面的例子中,uniqueID就是这个值。我正在寻找如何创建一个可用于在只有唯一值时解码数据的类。

回答

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 
} 

永远值得记住的是一个DictionaryDecodable型太(只要其是也可以解码)。

+0

@OlderCoder嘿,如果这解决了你的问题,一定要在有机会时将它标记为*接受的答案*。谢谢,欢迎来到SO! –