2017-02-10 46 views
1

也許這是一個noob問題,但我無法在其他任何地方找到任何解決方案,所以我想問。蒸氣中的物體JSON數組

我想用Vapor在swift中生成JSON格式的數據。

我有一個類,名爲Customer和一類,名爲包裹 在客戶類中,我有一個變量 var parcelArray = [Parcel] 我添加了一個包裹數組在「drop.get」 現在我要生成JSON

return try Node(node:[ 
     "firstName" : self.firstName, 
     "lastName" : self.lastName, 
     "personID" : self.personID 
    ]) 

如何在此處添加parcelArray?我想要這樣的結果:

{"name": "Name", 
    "surname": "Surname", 
    "person_id": 123123123, 
    "parcel": [ 
     "parcelName": "parcel 1" 
    ], 
    "parcel": [ 
     "parcelName" : "parcel 2" 
    ] 
} 
+0

好像你已經使用蒸氣/節點項目。你見過這個嗎? https://github.com/vapor/json –

+0

@DaveWeston 是的,這是一個解決方案 - ''parcel「:嘗試JSON(節點:[test]:self.intermedCountry?[1] .IntermedCountryName ]) ' 但現在我陷入了另一個麻煩..我怎樣才能使節點內的每個數組元素的節點?我不能在另一個節點內使用'in'語句? – ikajava

+0

我不明白你的後續問題。你可以發佈你正在獲得的當前輸出以及你想要達到的目標嗎? –

回答

3

數組的東西可能有點棘手,因爲此時通用擴展不能符合協議。在Swift 4中,它們將交替使用,同時,我們還有一些額外的工作要做。

return try Node(node:[ 
     "firstName" : self.firstName, 
     "lastName" : self.lastName, 
     "personID" : self.personID, 
     "parcels": self.parcels.makeNode() 
    ]) 

讓我知道這是不明確的,我們可以更具體回覆:JSON