NSDictionary 或者NSArray(NSMutableArray) ==>> NSData ==>> NSString (Json):

来源:互联网 发布:淘宝不能登陆 编辑:程序博客网 时间:2024/05/16 06:31

以下代码都有详细的注释说明这些类型之间的转换(如有错误的地方还望批评指出,谢谢!)


- (void)viewDidLoad {    [super viewDidLoad];        /**     *  NSDictionary ||NSArray(NSMutableArray) ==>> NSData ==>> NSString (Json):     *///    NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys://                            @"balance", @"key",//                            @"remaining balance", @"label",//                            @"45", @"value",//                            @"USD", @"currencyCode",nil];        NSArray *params = @[@"balance", @"key",                        @"remaining balance", @"label",                        @"45", @"value",                        @"USD", @"currencyCode"];    NSError *error = nil;    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:params options:NSJSONWritingPrettyPrinted error:&error];    NSString *jsonString;    if ([jsonData length] > 0 && error == nil){        jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];        NSLog(@"%@",jsonString);    }else{        NSLog(@"Erroe:%@",error);    }        /**     *  NSString (Json): ==>>NSData ==>> NSDictionary ||NSArray(NSMutableArray)     */    //将NSString转化为NSData   NSData *jsonData2 = [jsonString dataUsingEncoding:NSUTF8StringEncoding];     NSError *error2 = nil;    id jsonObject  = [NSJSONSerialization JSONObjectWithData:jsonData2 options:kNilOptions error:nil];    if (jsonObject != nil && error2 == nil){        NSLog(@"jsonObject == %@",jsonObject);    }else{        // 解析错误        NSLog(@"Erroe:%@",error2);    }            /**     NSData -> NSString          :returns: NSString     *///    NSString *tempStr = [[NSString alloc] initWithData:<#(NSData *)#> encoding:<#(NSStringEncoding)#>];            /**     NSString -> NSData     *///    NSData *tempData = [[[NSString alloc]init] dataUsingEncoding:<#(NSStringEncoding)#>]            }



0 0
原创粉丝点击