在Swift中创建一个JSON对象

时间:2015-02-01 14:19:37

标签: ios json swift

我试图从我的iOS应用程序向服务器发送JSON数据。我在this link.上找到了一个教程 " obj:AnyObject"看起来这样可以调用这个方法:

NSJSONSerialization.dataWithJSONObject(obj: AnyObject, options: NSJSONWritingOptions, error: NSErrorPointer)

它不接受字典(即使它在上面链接的示例中以某种方式使用)或数组。

1 个答案:

答案 0 :(得分:2)

假设你有一个像

这样的词典
let dictionary = ["key1": "value1", "key2": "value2"]

要使用您提供的方法生成JSON数据,只需调用它:

var jsonGenerationError: NSError?
let jsonData = NSJSONSerialization.dataWithJSONObject(dictionary, options: .PrettyPrinted, error: &jsonGenerationError)

您可以通过解析生成的数据来验证它是否有效:

var jsonParsingError: NSError?
let parsedObject: AnyObject? = NSJSONSerialization.JSONObjectWithData(jsonData!, options: .AllowFragments, error:&jsonParsingError)

Swift 4

let dictionary = ["key1": "value1", "key2": "value2"]
let jsonData = try? JSONSerialization.data(withJSONObject: dictionary, options: .prettyPrinted)
// Verifying it worked:
let parsedObject = try! JSONSerialization.jsonObject(with: jsonData!, options: .allowFragments)