Swift中如何将字典数组转换为可用JSON对象?
Swift 创建包含字典数组的JSON对象问题
我在创建嵌入字典数组的JSON对象时遇到问题,以下是尝试的错误代码,其中parameters中的myMessages会报错:
let myMessages: [Dictionary: Any?] = [ { role: "system", content: "You’re a social media manager writing Instagram captions." }, { role: "user", content: "I want to post something on Instagram on Mother’s day. Brainstorm some ideas." }, ] let parameters: [String: Any?] = [ "model": model, "messages": myMessages, ] guard let parametersJson = try? JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted) else { return }
编辑1:
如果将myMessages改为如下字典形式,代码可以编译运行,但API要求传入数组:
var myMessages = ["role": "user", "content": "How many days in a week"]
编辑2:
参考已采纳的答案及下方评论,以下代码可正常运行。问题点包括:
- 数组的正确声明方式为
[[String: Any?]] - Swift中不能使用大括号
{}定义字典,需改用方括号[] - 字符串类型的键需要加引号
var myMessages: [[String: Any?]] = [ [ "role": "system", "content": "You love pizza." ], [ "role": "user", "content": "What do you think of pizza" ] ]
内容的提问来源于stack exchange,提问作者user6631314
相关产品推荐
相关产品推荐

