NSDictionary使用SwiftyJSON将jsonstring转换为json对象

我有一个用例,我有一个字典数组,我需要他们作为JSON对象:

var data = [Dictionary<String, String>]() //append items var bytes = NSJSONSerialization.dataWithJSONObject(data, options: NSJSONWritingOptions.allZeros, error: nil) var jsonObj = JSON(NSString(data: bytes!, encoding: NSUTF8StringEncoding)!) println(jsonObj) println(jsonObj[0]) 

第一个印刷声明给我

 [ {"price":"1.20","city":"Foo","_id":"326105","street":"One"}, {"price":"1.20","city":"Bar","_id":"326104","street":"Two"} ] 

第二

 null 

但我期望它返回json数组中的第一个元素。 我做错了什么?

根据文档,这应该是你所需要的。

 var data = [Dictionary<String, String>]() //append items var jsonObj = JSON(data) println(jsonObj) println(jsonObj[0]) 

你有问题直接转换成一个JSON对象的数组?

我不知道你在第四行有什么方法(JSON),但我得到你的代码工作使用NSJSONSerialization.JSONObjectWithData如下所示:

 var data = [Dictionary<String, String>]() data.append(["price":"1.20","city":"Foo","_id":"326105","street":"One"]) data.append(["price":"1.20","city":"Bar","_id":"326104","street":"Two"]) let bytes = try! NSJSONSerialization.dataWithJSONObject(data, options: NSJSONWritingOptions.PrettyPrinted) var jsonObj = try! NSJSONSerialization.JSONObjectWithData(bytes, options: .MutableLeaves) as! [Dictionary<String, String>] print(jsonObj) print(jsonObj[0]) 

输出…

 "[[price: 1.20, city: Foo, _id: 326105, street: One], [price: 1.20, city: Bar, _id: 326104, street: Two]]" "[price: 1.20, city: Foo, _id: 326105, street: One]" 

编辑:我现在看到swifty-json的标签。 我不熟悉,但我上面包含的代码与内置的方法一起工作。