NSJSONSerialization --- IOS中解析JSON格式的基本方式

jopen 10年前

     IOS中对JSON格式的解析通常可以采用NSJSONSerialization来实现. 

如,我们可以用个简答的HTTP请求的方式获取JSON数据,(以下都是在playground中写的)

    var url = "http://0.0.0.0:8000" 

    // 返回数据为{"status": 0, "data": [{"hello": "world"}, {"try": "again"}]}

var content = NSString(contentsOfURL:NSURL(string: url)!, encoding:NSUTF8StringEncoding, error: nil)

// 在解析之前,要先将json格式的数据内容转换成NSData的格式,

var data: NSData = content!.dataUsingEncoding(NSUTF8StringEncoding)!

然后,解析过程也非常简单.

    var json  = NSJSONSerialization.JSONObjectWithData(data, 

        options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary

    json["status"]  // 0, 获取其中的元素

    let aray = json["data"] as NSArray

    array[0]["hello"] // world

需要注意的是,对于字符串的数据(网络请求大多都是字符串类型),一定要先转换成NSData格式,才能使用NSJSONSerialization来解析.

来自:http://blog.csdn.net/icetime17/article/details/41411965