[英]JSON Decode of Arrays and Dictionaries in Swift Model
[英]Posting arrays of dictionaries in Swift as JSON
我在Swift中有兩個數組,一個Customer數組和一個Order數組。
var orders = _orderService.GetOrders(...) //just simplifying
var customers = _customerService.GetCustomers(...) //simplifying obviously
現在,我將它們作為Array <Order>和Array <Customer>,我想將它們轉換為JSON,並通過POST將其發送到我的Web服務。
我的客戶和訂單類都具有.toDictionary()實現,可讓他們將自己表示為Dictionary,這對於json是完美的!
我認為要正確地將它們一次顯示為JSON,我可以執行以下操作:
var customerJSON = customers.map({"\(NSJSONSerialization.dataWithJSONObject($0.toDictionary(), options: nil, error: &err))"})
這樣就可以工作並生成一個String數組,該數組中的每一行都是序列化的客戶。 我可以對訂單采用相同的方法,並且可以將它們組合以生成一個巨大的字符串數組,每個字符串都表示為JSON。
我現在遇到的問題是如何處理此陣列以正確地對其進行開機自檢。
request.HTTPMethod = "POST"
request.HTTPBody = <<WHAT GOES HERE TO SEND VALID JSON OVER??>>
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
非常感謝大家!
像這樣簡單:
Objective-C的:
NSDictionary *data = @{@"orders": orders, @"customers":customers};
NSData *jsondata = [NSJSONSerialization dataWithJSONObject:data options:0 error:&error];
[request setHTTPBody:jsondata];
迅速:
let data = ["orders": orders, "customers":customers]
let jsondata = NSJSONSerialization.dataWithJSONObject(data, options: .allZeros, error: nil)
request.HTTPBody = jsondata
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.