gpt4 book ai didi

ios - 获取 JSON 时文件名/路径无效

转载 作者:行者123 更新时间:2023-11-28 08:25:34 25 4
gpt4 key购买 nike

在我的项目 Navigator 中我有这个结构

-MyApp
--ViewController.swift
--AppDelegate.Swift
--Main.StoryBoard
--info.plist
--JSONFiles
---test.json
-MyAppUITests

如您所见,这是创建新的单 View 应用程序时发生的非常基本的结构。

我创建了一个名为 JSONFiles 的新组,并添加了一个名为 test.json 的 JSON 文件。

当我尝试获取文件时:

if let path = Bundle.main.path(forResource: "JSONFiles/test", ofType: "json") {
do {
let data = try NSData(contentsOf: URL(fileURLWithPath: path), options: NSData.ReadingOptions.mappedIfSafe)
let jsonData : NSData = NSData(contentsOfFile: path)!
allEntries = (try! JSONSerialization.jsonObject(with: jsonData as Data, options: JSONSerialization.ReadingOptions.mutableContainers)) as! NSArray

print(allEntries)

} catch let error as NSError {
print(error.localizedDescription)
}
} else {
print("Invalid filename/path.")
}

我得到错误:

Invalid filename/path.

如果我将 JSON 文件移到我们的组文件夹中,并将 forResource 更改为仅“测试”,它可以正常工作并在控制台中打印。

能告诉我如何从文件夹中读取它吗?我可以将所有 JSON 文件都放在根目录中,但我想稍微整理一下。

谢谢

最佳答案

您必须将您的 json 文件包含到“Copy Bundle Ressources”中。转到您的项目目标 -> 构建阶段 -> 复制 Bundle 资源,然后添加您的 json 文件。

然后,您应该能够使用以下函数检索路径:Bundle.main.path(forResource: "test", ofType: "json") 。

关于ios - 获取 JSON 时文件名/路径无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40130703/

25 4 0
文章推荐: c++ - 使用 gdb 跟踪所有用户定义的函数调用
文章推荐: javascript - 使用 jquery/php 查找链接是否已访问
文章推荐: html - 如何在css中的两个图像之间添加段落
文章推荐: c++ - 如何将对象添加到另一个类中的 vector