2016-10-20 107 views
0

如何繼續將領域結果映射到JSON格式。 這是我的Realm對象類。將領域結果映射到JSON標準格式

class OrderItemList: Object { 

dynamic var dateCreated = NSDate() 
let orderItems = List<OrderItem>() 
} 

class OrderItem: Object { 

dynamic var name = " " 
dynamic var amount = 0 
dynamic var internalUnique = Int() 
dynamic var isCompleted = false 
} 

我要地圖保存數據的結果,並將其發送給一個API,像這樣:

let orderRequestUserValues = [ "ClientID": "TEST", 
            "UserName": "sysadmin", 
            "Password": "123456", 
            "ModuleID": "StockProcessing", 
            "FunctionID": "SetStockOrder", 
            "TransmissionFlags": 32, 
            "TransmissionMethod": 5, 
            "RequestParameters": 
            [ 
             "OrderType": 1, 
             "Notes": "John Is Reordering", 
             "ListofStockItemOrderData": //Here is where the mapped JSON will be 
                  ] 

     ] 

通過Alamofire:

manager.request(.POST, url, parameters: orderRequestUserValues) 

回答

1

您可以添加以下功能您的OrderItemList將其orderItems列表轉換爲JSON字符串:

func orderItemsJSON() throws -> String? { 
    let serializableOrderItems = Array(orderItems.map({ item in 
    return [ 
     "name": item.name, 
     "amount": item.amount, 
     "internalUnique": item.internalUnique, 
     "isCompleted": item.isCompleted 
    ] 
    })) 
    let jsonData = try JSONSerialization.data(withJSONObject: serializableOrderItems, options: .prettyPrinted) 
    return String(data: jsonData, encoding: .utf8) 
}