Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Json数据附加到数组-Firebase/Swift_Json_Swift_Firebase_Firebase Realtime Database - Fatal编程技术网

将Json数据附加到数组-Firebase/Swift

将Json数据附加到数组-Firebase/Swift,json,swift,firebase,firebase-realtime-database,Json,Swift,Firebase,Firebase Realtime Database,我正在尝试将Firebase中的数据附加到名为var itemNumbers:[[String:AnyObject]]的变量中。这是提取的样子: let orderItems = snapDict["itemNumbers"] as! [String:String] self.NSOBJECT.itemNumbers.append(orderItems as [String : AnyObject]) print(orderItems) 当我执

我正在尝试将Firebase中的数据附加到名为
var itemNumbers:[[String:AnyObject]]的变量中。这是提取的样子:

        let orderItems = snapDict["itemNumbers"] as! [String:String]
        self.NSOBJECT.itemNumbers.append(orderItems as [String : AnyObject]) 
        print(orderItems)
当我执行此操作时,应用程序正好在我尝试将orderItems附加到数组的位置中断。这是我的错误:

fatal error: unexpectedly found nil while unwrapping an Optional value
JSON:

在尝试附加orderItems之前,是否需要将其转换为其他内容


谢谢你的帮助

提及评论

如果您想追加
订单
,那么使用
[[String:AnyObject]]
另一方面,为
[String:String]
追加
项目编号


注意:避免有问题的隐式转换
[[String:AnyObject]]

提及评论

如果您想追加
订单
,那么使用
[[String:AnyObject]]
另一方面,为
[String:String]
追加
项目编号


注意:避免有问题的隐式转换
[[String:AnyObject]]

更正json,因为很多字段都不正确

使您的变量ItemNumber从

var itemNumbers:[[String:AnyObject]]

as
itemsNumbers
是可选的

并附加为

 let order = jsonDictionary["order"] as! [String:AnyObject]
 let tempItemNumbers = order["itemNumbers"] as! [String:AnyObject]
 self.NSOBJECT.itemNumbers.append(tempItemNumbers)
 print( self.NSOBJECT.itemNumbers)

更正json,因为很多字段都不正确

使您的变量ItemNumber从

var itemNumbers:[[String:AnyObject]]

as
itemsNumbers
是可选的

并附加为

 let order = jsonDictionary["order"] as! [String:AnyObject]
 let tempItemNumbers = order["itemNumbers"] as! [String:AnyObject]
 self.NSOBJECT.itemNumbers.append(tempItemNumbers)
 print( self.NSOBJECT.itemNumbers)


ItemNumber的钥匙在哪里?@cosmos你能试试我的答案吗试试这个。self.NSOBJECT.itemNumbers.append(orderItems为[String:String])可能会更改
var itemNumbers:[[String:AnyObject]]
var itemNumbers:[[String:String]]???@cosmos您的json仍然无效ItemNumber键在哪里?@cosmos您可以尝试我的答案试试这个。self.NSOBJECT.itemNumbers.append(orderItems为[String:String])可能会更改
var itemNumbers:[[String:AnyObject]]
var itemNumbers:[[String:String]]???@cosmos您的json仍然无效无法将nsdictionary的值转换为nsarray。另外,我通过数据库引用访问cart,所以我不需要使用它来访问TempItemNumber,现在的问题是我应该如何将它发送到firebase?让cartVal=[“item”:“1”][“item2”:“2”]像这样吗???我不确定在设置数据库引用的值时如何创建此值。从来没有这样做过,有什么线索吗?这将对我有很大帮助。@cosmos您可以将您的层次结构设置为
{“order”:{“itemNumbers”:{{{“1”:“Item Description”}、{“2”:“Item Description”}}}}
。有关如何构造的参考,请参阅或无法将nsdictionary的值转换为nsarray。另外,我通过数据库引用访问cart,所以我不需要使用它来访问TempItemNumber,现在的问题是我应该如何将它发送到firebase?让cartVal=[“item”:“1”][“item2”:“2”]像这样吗???我不确定在设置数据库引用的值时如何创建此值。从来没有这样做过,有什么线索吗?这将对我有很大帮助。@cosmos您可以将您的层次结构设置为
{“order”:{“itemNumbers”:{{{“1”:“Item Description”}、{“2”:“Item Description”}}}}
。有关如何构造的参考信息,请参阅或我添加了`self.NSOBJECT.itemNumbers.append(orderiments!as[String:AnyObject])`这就是输出:[[“项”:1]]我应该这样将数据发送到Firbase吗?让OrderItems=[“item”:“1”][“item2”:“2”]以便像您的示例一样接收它?我将此分配给关键的orderItems。(明天我将继续处理此问题)感谢您的帮助。我添加了'self.NSOBJECT.itemNumber.append(orderItems!as[String:AnyObject])`并将其作为输出:[[“item”:1]]我应该这样将数据发送到Firbase吗?让OrderItems=[“item”:“1”][“item2”:“2”]以便像您的示例一样接收它?我将此分配给关键订单项。(明天我将继续此工作)谢谢您的帮助。
      guard  let  orderItems = snapDict["order"] as? [[String: AnyObject]]  else{
         return
     }

      self.NSOBJECT.itemNumbers.append(orderItems)
 var itemNumbers: [[String:AnyObject]] = [] //if nil instantiate
 let order = jsonDictionary["order"] as! [String:AnyObject]
 let tempItemNumbers = order["itemNumbers"] as! [String:AnyObject]
 self.NSOBJECT.itemNumbers.append(tempItemNumbers)
 print( self.NSOBJECT.itemNumbers)