gpt4 book ai didi

swift - SwiftyJSON 对象的 JSON 序列化失败

转载 作者:行者123 更新时间:2023-11-28 12:21:26 25 4
gpt4 key购买 nike

我正在尝试获取这样的 json 结构:

{
"settings": [
{"value": 1, "tag": "active"},
{"value": 1, "tag": "active"}
]
}

我用 SwiftyJSON 建立了一个 Playground 并编写了以下测试:

let ele : [String:JSON] = ["tag" : "active", "value" : 1]
let ele2 : [String:JSON] = ["tag" : "active", "value" : 1]

let eleJSONArray = [ele, ele2]

let parameters : [String:Any] = JSON(["settings":eleJSONArray]).dictionaryObject!
print(parameters)
try JSONSerialization.data(withJSONObject: parameters, options: JSONSerialization.WritingOptions.prettyPrinted)

但我收到一个序列化错误,好像其中一个元素无效:

["settings": [["value": 1, "tag": active], ["value": 1, "tag": active]]]
2017-06-22 15:37:59.078 TestPlayground[57075:19147452] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (_SwiftValue)'

你能指出问题出在哪里吗?

最佳答案

你标注的类型不对,两个字典都是[String:Any]

let ele : [String:Any] = ["tag" : "active", "value" : 1]
let ele2 : [String: Any] = ["tag" : "active", "value" : 1]

基本上,您不能使用 JSONSerialization 序列化 JSON 对象,除非您让 SwiftyJSON 完成这项工作。

旁注:如果 JSON 被发送到服务器,请不要打印漂亮。服务器不关心文本格式。

关于swift - SwiftyJSON 对象的 JSON 序列化失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44701287/

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