Ios 字典对象数组在发送到Swift中的firebase云函数后发生变化?

Ios 字典对象数组在发送到Swift中的firebase云函数后发生变化?,ios,swift,firebase,google-cloud-functions,Ios,Swift,Firebase,Google Cloud Functions,我有一个名为资产的字典对象数组,当用Swift打印出来时,它显示: [ ["assetType": "video", "assetPath": "some_path"], ["assetType": "image", "assetPath": "some_other_path"] ] 这是完美的,但是,在我将其发送到firebase云函数并在云函数中打印出来后,资产变成: [ { "assetType": ["video", "image"],

我有一个名为
资产
的字典对象数组,当用Swift打印出来时,它显示:

[
    ["assetType": "video", "assetPath": "some_path"],
    ["assetType": "image", "assetPath": "some_other_path"]
]
这是完美的,但是,在我将其发送到firebase云函数并在云函数中打印出来后,
资产
变成:

[
    {
        "assetType": ["video", "image"],
        "assetPath": ["some_path", "some_other_path"]
    }
]
为什么会发生这种情况?我应该如何解决这个问题

------------------------------------更新----------------------

我使用
Alamofire
模块执行http请求:

Alamofire.request(
    "https://....",
    method: .post,
    parameters: [
        "assets": assets
    ]
)
------------------------------------更新2--------------------

我的云功能如下:

exports.testFunction = functions.https.onRequest((req, res) => {
    const { assets } = req.body;
    return res.status(200).send(assets)
})

调用后立即将
资产
发送回

更新:
阿拉莫菲尔
执行此操作的方法位于底部

我尝试了其他方法,只能回答问题的第二部分:如何解决这个问题?。显然,不使用
Alamofire
解决了这个问题,但我确信
Alamofire
没有什么问题,可能缺少一些东西,我会仔细研究一下,但是现在,
Alamofire
的另一个替代方法是
URLSession

let session = URLSession.shared
let url: URL = URL(string: "https://...")!
let request = NSMutableURLRequest(url: URL)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")

do {
    request.httpBody = try JSONSerialization.data(
        withJSONObject: [
            "assets": assets
        ],
        options: JSONSerialization.WritingOptions()
    )
    let task = session.dataTask(with: request as URLRequest) { (data, _, _) in
        if let responseData = data {
            print(String(data: responseData, encoding: .utf8)!)
        }
    }
    task.resume()
} catch {
    print(error)
}
它会打印:

[
    {
        "assetType": "video",
        "assetPath": "some_path"
    },
    {
        "assetType": "image",
        "assetPath": "some_other_path"
    }
]
------------------------------------阿拉莫菲尔之路---------------------------

阅读文档,显然,我还应该添加
编码
选项:

Alamofire.request(
    "https://...",
    method: .post,
    parameters: [
        "assets": assets
    ],
    encoding: JSONSerialization(options: [])
)

这个问题将得到解决。

有人投票结束了这个问题,因为它离题了,因为它在问“为什么这个代码不起作用?”,首先,我不是在问这个问题,我个人认为我的代码应该起作用。其次,如果我不能在这里问这个问题,你认为我应该去哪里问这个问题?也许这与云功能有关。不是您的swift代码。@S1LENTWARRIOR,谢谢您的回复,我的firebase云函数立即发回
资产
,而不做任何处理。但不知怎的,这种情况发生了。我已经更新了这个问题,很好,你自己找到了解决方案,并发布了。“现在我鼓励你也接受你的答案。”兰特瓦利奥,谢谢你。是的,我会在24小时内接受,如果允许的话。