【发布时间】:2023-03-07 10:26:02
【问题描述】:
在这里,我在 Swift 中使用以下字典对象调用我的 API(Firebase 云函数):
let data: [String: Any] = [
"array1": [1, 2, 3],
"array2": [
[
"key1": "value1",
"key2": "value2"
],
[
"key3": "value3",
"key4": "value4"
]
]
]
因此,“array1”是一个整数数组,“array2”是一个字典对象数组。我的云功能不除了发回收到的内容之外做任何其他事情:
exports.testFunction = functions.https.onRequest((req, res) => {
return res.status(200).send(req.body)
})
要调用这个云函数,我使用的是Alamofire模块:
Alamofire.request(
"<url>",
method: .post,
parameters: data,
encoding: URLEncoding.httpBody,
headers: [
"Authorization": "...",
"Accept": "application/json"
]
).responseJSON { (response) in
print(response)
}
上面的“print”语句打印:
这意味着“array1”没有任何问题,但是云函数以某种方式接收“array2”作为单个对象的数组,该对象具有 4 个键和值对:
"array2": [
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
}
]
为什么会发生这种情况,我该如何解决这个问题?
【问题讨论】:
标签: json swift rest firebase alamofire