iOS 对象数组生成jsonarray

//1. 初始化可变字符串,存放最终生成json字串  
        NSMutableString *jsonString = [[NSMutableString alloc] initWithString:@"{\"actorhalls\":["];  
          
        for(ExecplanActosHall *hall in actorhalls){  
              
            //2. 遍历数组,取出键值对并按json格式存放  
            NSString *string;  
              
            string  = [NSString stringWithFormat:  
                      @"{\"ownerName\":\"%@\",\"ownerId\":\"%@\",\"channelId\":\"%@\",\"ownerType\":\"%ld\"},",hall.ownerName,hall.ownerId,hall.channelId,(long)hall.ownerType];  
              
            [jsonString appendString:string];  
              
        }  
        // 3. 获取末尾逗号所在位置  
        NSUInteger location = [jsonString length]-1;  
       
        NSRange range       = NSMakeRange(location, 1);  
          
        // 4. 将末尾逗号换成结束的]}  
        [jsonString replaceCharactersInRange:range withString:@"]}"];  
  
        NSLog(@"jsonString = %@",jsonString);  

 其一:字典转json

//字典转Json  
- (NSString*)dictionaryToJson:(NSDictionary *)dic  
{  
    NSError *parseError = nil;  
    NSData  *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];  
    return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];  
}  

 

其二:json转字典

/*!  
 * @brief 把格式化的JSON格式的字符串转换成字典  
 * @param jsonString JSON格式的字符串  
 * @return 返回字典  
 */  
+ (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;  
}  

 

转载于:https://www.cnblogs.com/boyuanmeng/p/4370922.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值