如何使用Swifty动态创建具有多个键和值的json对象

时间:2015-11-12 16:19:09

标签: json swift swifty-json

我想使用Swifty创建一个json对象,我可以用这种格式解析为字符串:

{
    "store": {
        "id": "test",
        "name": "store1",
        "type": "retail"
    }
}

我想在单独的JSON对象中进行分阶段(最终在单独的函数中),然后将对象连接在一起。当我尝试使用以下代码时,我得到一个数组:

func jsonTest()->String {
    var idJson = JSON(["id":"test"])
    var nameJson = JSON(["name":"store1"])
    var typeJson = JSON(["type":"retail"])
    var storeJson = JSON([idJson, nameJson, typeJson])
    return storeJson.rawString()!
}

结果:

{
    "store": [
        {
            "id": "test"
        },
        {
            "name": "store1"
        },
        {
            "type": "retail"
        }
    ]
}

1 个答案:

答案 0 :(得分:3)

你获得一个数组的原因是因为你在这一行传递了一个:

var storeJson = JSON([idJson, nameJson, typeJson])

您传入的数组包含idnametype的单独对象,这就是您所获得的内容。

你应该做的是为商店创建一个字典,并在将其传递给JSON函数之前设置所有值:

var store = [String: String]()
store["id"] = "test"
store["name"] = "store1"
store["type"] = "retail"
var storeJson = JSON(store)