• 关于json文本数据的一些使用方法


    1.对象的存取

    如果是对象的存取,可能需要序列化和反序列化对象的属性。

        NSDictionary params = @{@"hello":@"world"};
        NSArray arr = @[@"1",@"2",@"3"];
        [arr addObject:params];
        NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arr];
        NSArray *arr2 = [NSKeyedUnarchiver unarchiveObjectWithData:data];
        NSLog(@"arr2: %@", arr2);

    2.解析JSON

        // 加载一个本地的JSON文件路径,放到NSData对象中去
        NSData *jsonData2 = [NSData dataWithContentsOfFile:[CachesManager getCheckInstallInfoPath]];
         // 把一个json格式的data,解析为OC中的数据对象(一般为数组或字典)
        id obj = [NSJSONSerialization JSONObjectWithData:jsonData2
                        options:NSJSONReadingMutableContainers
                           error:nil];
        // 判断一下,id是NSMutableArray类型还是NSMutableDictionary 
        if ([obj isKindOfClass:[NSArray class]]) {
            NSMuttableArray *array = obj;
             NSLog(@"arr: %@", array);
        } else {
            NSMutableDictionary *dic = obj;
             NSLog(@"dic: %@", dic);
        }
               

    3.数据转化成JSON格式的数据

    // 把一个OC中的数据对象(数组或对象--在OC中类似字典)转换成JSON格式的数据  
        NSDictionary * dic = @{@"name": @"Tom",@"where":@"beijing",@"how": @"by air",@"data": @"2016.04.18"};  
        NSLog(@"DIC = %@",dic);  
        NSData * data = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&error];  
          
        // 把一个json格式的data,解析为OC中的NSString类型对象  
        // 无特殊意义,一般用来查看JSON文本封装成 数组 还是 对象(OC中为字典)  
        NSString * jsonString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];  
        NSLog(@"-----------------------------%@",jsonString);  
  • 相关阅读:
    每日总结59
    每日总结58
    每日总结57
    每日总结56
    每日总结55
    每日总结54
    每日总结53
    每日总结52
    学习日报
    学习日报
  • 原文地址:https://www.cnblogs.com/hd1992/p/5357832.html
Copyright © 2020-2023  润新知