【问题标题】:Parse data from json local file using AFNetworking使用 AFNetworking 从 json 本地文件中解析数据
【发布时间】:2013-09-07 20:20:46
【问题描述】:

是否可以使用 AFNetworking 而不是 SBJSON 从本地 json 文件中解析数据?

【问题讨论】:

  • 是的,只需使用本地文件 URL
  • 你到底为什么要这么做?
  • @Cyrille 我正在开发一个未完成 Web 服务的代码,因此为了开发,我在本地 json 文件中模拟从网络接收的 json 文件,但我想用 AFNetworking 实现正确的代码现在。

标签: ios json afnetworking


【解决方案1】:

对于本地 JSON,您不需要使用 AFNetworking。您在本地文件中不会有任何与网络相关的优势。

NSString *filePath = [[NSBundle mainBundle] pathForResource:jsonFileName ofType:@"json"];
NSData *JSONData = [NSData dataWithContentsOfFile:filePath options:NSDataReadingMappedIfSafe error:nil];
NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingMutableContainers error:nil];

现在根据您的需要使用jsonDictionary

【讨论】:

    【解决方案2】:

    为什么不直接使用内置的NSJSONSerialization 类来解析它呢?这就是 AFNetworking 在幕后所做的一切。省点麻烦。

    【讨论】:

    • 谢谢。让我试试看!
    【解决方案3】:
    NSData *theData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:templateFileName ofType:@"json"]];
    NSDictionary *parsedData = [NSJSONSerialization JSONObjectWithData:theData options:NSJSONReadingMutableContainers error:nil];
    

    希望这会对你有所帮助。

    【讨论】:

      【解决方案4】:

      要在 iOS 中加载本地 JSON 文件,我们需要进入构建阶段,通过选择目标,使用复制包资源加载文件。然后构建文件。 只需按照“文件-> 新文件-> 其他-> 空”程序添加它是行不通的。(我为获得预期结果而奋斗了 4 个小时。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-03
        • 1970-01-01
        • 2013-06-24
        • 1970-01-01
        • 2015-01-11
        • 2021-01-19
        相关资源
        最近更新 更多