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

Posted

技术标签:

【中文标题】如何使用 Swifty 动态创建具有多个键和值的 json 对象【英文标题】:How to dynamically create json object with multiple keys and values using Swifty 【发布时间】:2015-11-12 16:19:08 【问题描述】:

我想使用 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】:

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

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)

【讨论】:

以上是关于如何使用 Swifty 动态创建具有多个键和值的 json 对象的主要内容,如果未能解决你的问题,请参考以下文章

如何使用php更新mongodb中具有键和值的子文档

使用 Swift 将具有相同类型的字典分组到具有完整键和值的数组中

vbscript 具有键和值的组合框

如何创建具有多个键的 NSDictionary?

Apache Drill 与 mongodb。在地图中查询具有特定键和值的文档

具有特定键和值的通用类型