2015-11-12 48 views
0

多个键和值JSON对象我想要创建一个使用SWIFTY JSON对象,我可以解析字符串格式为:如何动态地创建使用SWIFTY

{ 
    "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" 
     } 
    ] 
} 

回答

2

你得到一个数组的原因是因为你在这一行路过一人在:

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

你传递一个数组,其中包含id,nametype的单独对象,这就是你得到的结果。

什么,你应该做的,而不是正在创建一个字典商店,并把它传递给JSON功能之前设置的所有值:

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