iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转
Posted ming1025
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转相关的知识,希望对你有一定的参考价值。
1. 字典转Json字符串
+ (NSString*)convertToJSONData:(id)infoDict
{
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:infoDict
options:NSJSONWritingPrettyPrinted // Pass 0 if you don‘t care about the readability of the generated string
error:&error];
NSString *jsonString = @"";
if (! jsonData)
{
NSLog(@"Got an error: %@", error);
}else
{
jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}
jsonString = [jsonString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; //去除掉首尾的空白字符和换行字符
[jsonString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
return jsonString;
}
2. JSON字符串转化为字典
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString
{
if (jsonString == nil) {
return nil;
}
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers
error:&err];
if(err)
{
NSLog(@"json解析失败:%@",err);
return nil;
}
return dic;
}
以上是关于iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转的主要内容,如果未能解决你的问题,请参考以下文章
iOS 开发,NSDictionary 和 Model 哪个好
iOS - 数组与字典(NSArray & NSDictionary)