10. 用json格式保存配置档

原因

原因很简单,比如一个人有很多收货地址,这时候从服务器接收到了地址列表,但服务器的数据格式是json,你想给列表做缓存,所以最直接的想法就是把json address list 保存到地址列表里面

解决

之前我们说过了怎么保存plist,朋友问了,这个没什么难度啊。直接把列表字符串放进去就是了!

但有些许的不同,服务器传过来的数据是

[manager POST:url parameters:parameters success:^( id responseObject) {}

注意是id类型,不是我们所要的字符串,我们怎么把这个类型转成json字符串呢?

强制转换? 可以是可以,你试试吧,不行再往下看。

这里我们利用jsonkit开源库

如:

2014-04-12 11:12:08.201 Incidentally[902:60b] obj: {
    message = "RECEIVEADDRESS_FIND_SUCCESS";
    object =     (
       {
            area = "\"\"";
            city = zabei;
            isdefault = "<null>";
            moblephone = 22222222222;
            province = shanghai;
            receiveaddid = "RECEIVEADDRESS:b8447f44e2434632925e6b2f68389b91";
            receiveaddress = Abcdefasdfjksdhjfk;
            receivename = sdfsdfsdfsdfsdf;
            reluserid = "USERINFO:7c9cf1dcf69f4765bcc45a84a16efbae";
            remarks = "<null>";
            telphone = "<null>";
        }

       {
            area = "\"\"";
            city = zabei;
            isdefault = "<null>";
            moblephone = 1111111111111;
            province = shanghai;
            receiveaddid = "RECEIVEADDRESS:b8447f44e2434632925e6b2f68389b91";
            receiveaddress = Abcdefasdfjksdhjfk;
            receivename = sdfsdfsdfsdfsdf;
            reluserid = "USERINFO:7c9cf1dcf69f4765bcc45a84a16efbae";
            remarks = "<null>";
            telphone = "<null>";
        }

    );
    type = success;
}

先把object读出来,然后利用jsonkit的序列化,再保存到配置档。

NSArray* s = [data objectForKey:@"object"]; // data是整个json对象
[[XXX sharedInstance] setKey:@"address" Value:[s JSONString]]; // xxx是你自己的类

那么相对应的读呢?

- (BOOL) getAddressFromConfig
{
    NSString* address = [[XXX sharedInstance] getKey:@"address"];
    NSArray* array = [address objectFromJSONString];
    if (array != nil)
    {
        for (NSDictionary* receiveaddress in array)
        {
                    // TODO
        }
        [_tableView reloadData];
        return YES;
    }
    return NO;
}

要说的话

这其实是一个错误的解决过程,没啥难度。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,314评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • 今天起床后,头开始昏昏沉沉,也不奇怪,室友都感冒了,自己也是姨妈最后几天。到公司就开始开晨会,做表格,写纪要,一连...
    花_椒_阅读 1,826评论 0 1
  • 昨天,第一次在简书发布关于早餐的文章,一些朋友关注并点赞,可见热爱生活、热爱美食的人,无处不在。有朋友提问,...
    若水鬼鬼阅读 3,550评论 4 3
  • 本事大而度量不够大的人,因为装不下自己的本事,所以他就会拿出来“显摆”。 能发挥好自己的“本事”,让自己的本事找到...
    蚊子控WDV阅读 2,087评论 0 0