我正在尝试使用iOS中的SwiftyJSON编码(从对象到JSON字符串)以下JSON:
{
"item_list":[
{
"item_id":"id1",
"item_name":"name1"
},
{
"item_id":"id2",
"item_name":"name2"
}
]
}
我通过自己的类创建每个项目的JSON对象。这是我用来为项目生成JSON对象的代码:
public func getItemJson() -> JSON {
var json:JSON = ["item_id":id, "item_name":name]
return json
}
这是我用来尝试生成整体JSON的代码:
func getItemListJson() -> JSON {
var list:[JSON] = []
for item in itemList {
list.append(item.getItemJson())
}
var json:JSON = ["item_list":list] // This line contains error.
return json
}
但是,我收到编译错误,说" Type [JSON]不符合协议' AnyObject'"。我做错了什么?
答案 0 :(得分:0)
原因是JSON是一个结构而不是一个对象。在项目的JSON上使用.object方法可以解决错误。
func getItemListJson() -> JSON {
var list:[AnyObject] = []
for item in itemList {
list.append(item.getItemJson().object)
}
return JSON(["item_list":list])
}