zoukankan      html  css  js  c++  java
  • iOS --生产JSON格式,创建JSON文件,创建文件夹,指定储存

    //生成json文件

    - (void)onjson

    {

    //    如果数组或者字典中存储了  NSString, NSNumber, NSArray, NSDictionary, or NSNull 之外的其他对象,就不能直接保存成文件了.也不能序列化成 JSON 数据.

        NSDictionary *dict = @{@"name" : @"me", @"do" : @"something", @"with" : @"her", @"address" : @"home"};

        

        // 1.判断当前对象是否能够转换成JSON数据.

        // YES if obj can be converted to JSON data, otherwise NO

        BOOL isYes = [NSJSONSerialization isValidJSONObject:dict];

        

        if (isYes) {

            NSLog(@"可以转换");

            

            /* JSON data for obj, or nil if an internal error occurs. The resulting data is a encoded in UTF-8.

             */

            NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:0 error:NULL];

            

            /*

             Writes the bytes in the receiver to the file specified by a given path.

             YES if the operation succeeds, otherwise NO

             */

            // 将JSON数据写成文件

            // 文件添加后缀名: 告诉别人当前文件的类型.

            // 注意: AFN是通过文件类型来确定数据类型的!如果不添加类型,有可能识别不了! 自己最好添加文件类型.

    //        [jsonData writeToFile:@"/Users/xyios/Desktop/dict.json" atomically:YES];

            //存入NSDocumentDirectory

            NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;

            

            //创建文件夹

            NSString *patientPhotoFolder = [path stringByAppendingPathComponent:@"abdd"];

            NSFileManager *fileManager = [[NSFileManager alloc] init];

            [fileManager createDirectoryAtPath:patientPhotoFolder

                   withIntermediateDirectories:NO

                                    attributes:nil

                                         error:nil];

            //储存文件名称+格式

            NSString *savePath = [patientPhotoFolder stringByAppendingPathComponent:@"Desopdict.json"];

            NSLog(@"savePath is SY:%@",savePath);

            [jsonData writeToFile:savePath atomically:YES];

            

            NSLog(@"%@", [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]);

            

        } else {

            

            NSLog(@"JSON数据生成失败,请检查数据格式");

            

        }

        

    }

  • 相关阅读:
    正则表达式点滴
    异步处理与界面交互
    关于利用VS2008创建项目遇到的小困惑备忘
    using App.cofig to Store value
    Castle ActiveRecord学习笔记三:初始化配置
    无服务器端的UDP群聊功能剖析
    为VS2010默认模板添加版权信息
    理论有何用?不问“何用”,先问“用否”!
    微软没有公开的游标分页
    那些满脑子只考虑后台数据库的人他整天研究的就是针对自己查询一些数据的sql语句
  • 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/7954231.html
Copyright © 2011-2022 走看看