SWIFT 3 访问文件夹中的 JSON

Posted

技术标签:

【中文标题】SWIFT 3 访问文件夹中的 JSON【英文标题】:SWIFT 3 access JSON that is within a folder 【发布时间】:2017-03-12 02:05:25 【问题描述】:

我有很多 JSON 文件,它们都在一个名为 assets 的新文件夹中。如何访问资产文件夹内的某个文件夹中的一些 JSON 文件。这是我要使用的文件的屏幕截图。 http://prntscr.com/eiv7p4

更新:

这是我用来访问文件“mc-summer-0.json”的代码

if let path = Bundle.main.path(forResource: "mc-summer-0", ofType: "json") 
        do 
            let jsonData = try NSData(contentsOfFile: path, options: NSData.ReadingOptions.mappedIfSafe)
            do 
                let jsonResult: NSDictionary = try JSONSerialization.jsonObject(with: jsonData as Data, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary
                if let times_to : [String] = jsonResult["times_to"] as? [String] 
                    
                    for (value) in times_to 
                        print("\(value)")
                    
                    
                
             catch 
         catch 
    

但如果我想访问“assets”文件夹中的文件,我会将行更改为if let path = Bundle.main.path(forResource: "assets/mc-summer-1", ofType: "json") 但不幸的是它不起作用。

【问题讨论】:

你试过什么?您需要发布一些相关代码,我们可以帮助诊断问题。 我看过一些教程,但他们的 json 文件在项目中,而不是在多个文件夹中。这是他们提供的代码 'let url = NSBundle.mainBundle().URLForResource("Data", withExtension: "json") let data = NSData(contentsOfURL: url!)' 只要您的 JSON 文件包含在复制包资源构建阶段,它就可以工作。检查那里。 我刚刚添加了资产文件夹,它有自己的子文件夹。我想使用子文件夹中的 json 文件。 试过什么代码?我们不在乎某些教程的代码做了什么。在您的应用程序中发布尝试加载这些文件的代码。 【参考方案1】:

这些文件在项目中的组中,而不是在单独的文件夹中。它们很可能位于您的应用程序包的根级别,但根据您显示的内容,我们无法确定。我建议为模拟器构建您的应用程序,然后在 Finder 中打开生成的包并检查它。

【讨论】:

我也有同样的问题:***.com/questions/1496373/…我只需要 Swift 3 的答案,一切都会好起来的 这实际上是一个评论,而不是一个答案,因为它试图解释如何访问代码中的文件。 @UniqueLoLApps 不,您不需要,因为您的文件不在子文件夹中。它们只是在您的项目中分组。与资源包的子文件夹完全不同。 @maddy 我是 ios 编程新手,我有点不明白。请您指导我寻求解决方案吗?【参考方案2】:

好吧,万一有人像我一样卡住了,真正的解决方案是删除资产“文件夹”并重新添加它,然后选择将它们作为参考添加,而不是作为一个组添加

【讨论】:

这不是资产文件夹,最重要的是,我和我相信其他所有人都认为您在谈论项目预构建的资产参考。您不应将 Group 命名为与另一个组或引用相同的名称。 对不起,我立即重命名了文件夹

以上是关于SWIFT 3 访问文件夹中的 JSON的主要内容,如果未能解决你的问题,请参考以下文章

使用 swift 3 访问 JSON 中的值

SwiftyJson Swift 3 无法访问 JSON 中的字符串

解析 JSON Swift 3

Swift 3 中的 JSON 解析

Swift 3 - 在 Safari 中从 JSON 打开 URL

如何在一个 viewController 上使用多个搜索栏来访问 Swift 中的不同 JSON 数据?