iOS nsarray转jsonarray

在iOS开发中,网络请求需要传数组的时候如果直接把nsarray放到NSDictionary进去的话服务端会不好解析,需要将nsarray转成
jsonarray[{},{}],代码如下


+ (NSString *)arrayToJSONString:(NSArray *)arrayData
{
    NSData *data = [NSJSONSerialization dataWithJSONObject:arrayData
                                                   options:NSJSONWritingPrettyPrinted
                                                     error:nil];
    if (data == nil) {
        return nil;
    }
    NSString *string = [[NSString alloc] initWithData:data
                                             encoding:NSUTF8StringEncoding];
    return string;
}

顺便再放下自己平时比较常用的NSString与NSDictionary和NSArray之间的转换方法

+ (NSDictionary *)stringToDic:(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;
}

+(NSArray *)stringToArray:(NSString *)jsonString
{
    if (jsonString == nil) {
        return nil;
    }
    NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
    NSError *err;
    NSArray *array = [NSJSONSerialization JSONObjectWithData:jsonData
                                                        options:NSJSONReadingMutableContainers
                                                          error:&err];
    if(err) {
        NSLog(@"json解析失败:%@",err);
        return nil;
    }
    return array;
}

+ (NSString *)dicToString:(NSDictionary *)dicData
{
    if ([dicData count] == 0) {
        return @"";
    }
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dicData options:0 error:0];
   return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}

 

你可能感兴趣的:(工具方法,iOS技术,ios)