iOS 中json中字典 转json格式字符串

这是我从plist文件中找到的一个字典,把里面的字典转成了json数据,多注意字符串的拼接,虽然不难,容易犯错误。


-(NSArray *)flags

{

    if (_flags==nil) {

        NSString *path=[[NSBundle mainBundle]pathForResource:@"flags" ofType:@"plist"];

        NSArray *flagarray=[NSArray arrayWithContentsOfFile:path];

        NSMutableString *mutstr=[NSMutableString stringWithFormat:@""];

       

        for (NSDictionary *dict in flagarray) {

            NSString *jsonstr=[dicttojson dictionaryToJson:dict];

            NSString *jstring=[jsonstr stringByAppendingFormat:@","];

            //NSLog(@"%@",jsonstr);

            [mutstr appendString:jstring];

        }

        NSMutableString *jsonstring=[NSMutableString stringWithFormat:mutstr];

        [jsonstring insertString:@"[" atIndex:0];

        [jsonstring insertString:@"]" atIndex:jsonstring.length-1];

        NSString *subjson=[jsonstring substringToIndex:jsonstring.length-1];

        NSLog(@"%@",subjson);

    }

    return _flags;

}


后面这个类方法我自己新建了一个类文件放进去了,类名就是 dicttojson.h 和 dicttojson.m ,这个方法不知道是谁写的,我直接复制过来,很好用的



+ (NSString*)dictionaryToJson:(NSDictionary *)dict


{

    

    NSError *parseError = nil;

    

    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&parseError];

    

    return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

    

}


///*******下面这些是打印结果*********/////

[{

  "name" : "中国",

  "icon" : "zhongguo.jpg"

},{

  "name" : "德国",

  "icon" : "deguo.gif"

},{

  "name" : "法国",

  "icon" : "faguo.gif"

},{

  "name" : "英国",

  "icon" : "ying.gif"

},{

  "name" : "瑞典",

  "icon" : "ruidian.gif"

},{

  "name" : "韩国",

  "icon" : "hanguo.gif"

},{

  "name" : "瑞士",

  "icon" : "ruishi.gif"

},{

  "name" : "阿根廷",

  "icon" : "agt.gif"

},{

  "name" : "巴西",

  "icon" : "baxi.gif"

},{

  "name" : "荷兰",

  "icon" : "helan.gif"

},{

  "name" : "葡萄牙",

  "icon" : "putaoya.gif"

},{

  "name" : "西班牙",

  "icon" : "xiby.gif"

},{

  "name" : "意大利",

  "icon" : "ydl.gif"

},{

  "name" : "乌拉圭",

  "icon" : "wlgui.gif"

},{

  "name" : "美国",

  "icon" : "america.jpg"

},{

  "name" : "加拿大",

  "icon" : "jianada.jpg"

}]





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值