NSObject does not have a member named Key 错误
NSObject does not have a member named Key error
我需要按照下面显示的格式构造一个 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
变量的返回结果,看起来像只有一次切换的切换。
[
{
"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
但没有改变。
知道如何解决这个问题吗?
谢谢。
那时你不需要 SwiftyJSON:
让你的 'getOccasionArray' 变成 return 一个 [String: NSObject]
func getOccasionArray(handover: Handover) -> [String: NSObject] {
var occArray = [[String: NSNumber]]()
for occ in handover.occasions {
let occasion = occ as Occasion
var obj = ["Id": occasion.id!]
occArray.append(obj)
}
return occArray
}
将参数定义为 [String: NSObject]:
var parameters = [[String: NSObject]]()
var json: [String: NSObject] = getOccasionArray(handover)
parameters = [["DeviceCredentials": ["UniqueId": "1212121212"], "Handovers": ["Occasions": json]]]
我需要按照下面显示的格式构造一个 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
变量的返回结果,看起来像只有一次切换的切换。
[
{
"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
但没有改变。
知道如何解决这个问题吗?
谢谢。
那时你不需要 SwiftyJSON:
让你的 'getOccasionArray' 变成 return 一个 [String: NSObject]
func getOccasionArray(handover: Handover) -> [String: NSObject] {
var occArray = [[String: NSNumber]]()
for occ in handover.occasions {
let occasion = occ as Occasion
var obj = ["Id": occasion.id!]
occArray.append(obj)
}
return occArray
}
将参数定义为 [String: NSObject]:
var parameters = [[String: NSObject]]()
var json: [String: NSObject] = getOccasionArray(handover)
parameters = [["DeviceCredentials": ["UniqueId": "1212121212"], "Handovers": ["Occasions": json]]]