SwiftyJSON对象的JSON序列化失败

SwiftyJSON对象的JSON序列化失败,swift,dictionary,swifty-json,Swift,Dictionary,Swifty Json,我试图得到一个json结构,如下所示: { "settings": [ {"value": 1, "tag": "active"}, {"value": 1, "tag": "active"} ] } 我使用SwiftyJSON建立了一个游乐场,并编写了以下测试: let ele : [String:JSON] = ["tag" : "active", "value" : 1] let ele2 : [String:JSON] = ["tag" : "active", "value" : 1

我试图得到一个json结构,如下所示:

{
"settings": [
{"value": 1, "tag": "active"}, 
{"value": 1, "tag": "active"}
]
}
我使用SwiftyJSON建立了一个游乐场,并编写了以下测试:

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]
基本上,你不能用
JSON序列化
来序列化
JSON
对象,除非你让
SwiftyJSON
完成这项工作


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

您注释了错误的类型,两个词典都是
[String:Any]

let ele : [String:Any] = ["tag" : "active", "value" : 1]
let ele2 : [String: Any] = ["tag" : "active", "value" : 1]
基本上,你不能用
JSON序列化
来序列化
JSON
对象,除非你让
SwiftyJSON
完成这项工作


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

您的字典类型错误,它应该是
Any
而不是
JSON
,因为值是
Any
而不是JSON

字典的正确语法将是
[String:Any]

let ele : [String:Any] = ["tag" : "active", "value" : 1]
let ele2 : [String:Any] = ["tag" : "active", "value" : 1]
现在,您应该能够通过以下方式获得您的价值观:

let tag = ele["tag"] // active

您的字典类型错误,应该是
Any
而不是
JSON
,因为值是
Any
而不是JSON

字典的正确语法将是
[String:Any]

let ele : [String:Any] = ["tag" : "active", "value" : 1]
let ele2 : [String:Any] = ["tag" : "active", "value" : 1]
现在,您应该能够通过以下方式获得您的价值观:

let tag = ele["tag"] // active