NSJSONSerialization

在iOS 5 中,蘋果引入了一個解析JSON串的NSJSONSerialization類。通過該類,我們可以完成JSON數據與NSDictionary和NSArray之間的轉化。

一、將NSDictionary或NSArray轉化為JSON串


// 將字典或者數組轉化為JSON串

- (NSData *)toJSONData:(id)theData{

NSError *error = nil;

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:theData

options:NSJSONWritingPrettyPrinted

error:&error];

if ([jsonData length] > 0 && error == nil){

return jsonData;

}else{

return nil;

}

}

使用這個方法的返回,我們就可以得到想要的JSON串

NSString *jsonString = [[NSString alloc] initWithData:jsonData

encoding:NSUTF8StringEncoding];

二、將JSON串轉化為NSDictionary或NSArray


將NSString轉化為NSData

NSData *jsonData= [jsonString dataUsingEncoding:NSASCIIStringEncoding];

// 將JSON串轉化為字典或者數組

- (id)toArrayOrNSDictionary:(NSData *)jsonData{

NSError *error = nil;

id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData

options:NSJSONReadingAllowFragments

error:&error];

if (jsonObject != nil && error == nil) {

return jsonObject;

} else {

// 解析錯誤

return nil;

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容