gpt4 book ai didi

ios - NSObject does not have a member named Key 错误

转载 作者:行者123 更新时间:2023-11-28 21:49:48 24 4
gpt4 key购买 nike

我需要构建一个格式如下所示的 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)
]
]
]

我尝试将返回值转换为数组 getOc​​casionArray(handover).arrayValue 但没有任何变化。

知道如何解决这个问题吗?

谢谢。

最佳答案

此时您不需要 SwiftyJSON:

让你的'getOc​​casionArray'返回一个[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]]]

关于ios - NSObject does not have a member named Key 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28739509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com