我需要以如下所示的格式构造一个 JSON 对象。
{
"DeviceCredentials": {
"UniqueId": "sample string 1"
},
"Handovers": [
{
"Occasions": [
{
"Id": 1
},
{
"Id": 1
}
]
}
]
}
虽然Occasions
数组存在问题。对象的数量Occasion
不同。有时可能只有一个场合,有时可能有多个。由于这是动态的,我编写了以下方法来创建这个数组。
func getOccasionArray(handover: Handover) -> JSON {
var occArray = [[String: NSNumber]]()
for occ in handover.occasions {
let occasion = occ as Occasion
var obj = ["Id": occasion.id!]
occArray.append(obj)
}
let json = JSON(occArray)
return json
}
我使用SwiftyJSON库将创建的数组转换为 JSON。json
这是只有一个 Occasion 的 Handover的变量返回结果。
[
{
"Id" : 243468
}
]
到目前为止,一切都很好。问题是我无法将其插入更大的 JSON 响应。简单地调用这样的方法会给出错误'NSObject' does not have a member named 'Key'。
var parameters = [String: NSObject]()
parameters = [
"DeviceCredentials": [
"UniqueId": "1212121212"
],
"Handovers": [
[
"Occasions": getOccasionArray(handover)
]
]
]
我尝试将返回的值转换为数组getOccasionArray(handover).arrayValue
,但没有任何变化。
关于如何解决这个问题的任何想法?
谢谢。