Swift Vapor:如何读取 JSON 文件?
Swift Vapor: How to read a JSON file?
我正在使用 Vapor,这是用于创建 Web 服务器的服务器端 Swift 4 框架。我有一个我想应用的迁移,它从 JSON 文件中读取;但是,我在此看到的大多数 Swift 教程都表明使用 Bundle
,据我所知,在开发服务器端 swift 应用程序时不可用,这意味着像这样的尝试不工作:
if let path = Bundle.main.url(forResource: "myFile", withExtension: "json") {
...
这引出了一个问题,给定一个相对文件路径,我如何使用服务器端读取文件 Swift?
傻我。 Vapor 公开了一个 DirectoryConfig
对象,您可以从中检索应用程序的工作目录。解析一个文件,它变成:
let directory = DirectoryConfig.detect()
let configDir = "Sources/App/Configuration"
do {
let data = try Data(contentsOf: URL(fileURLWithPath: directory.workDir)
.appendingPathComponent(configDir, isDirectory: true)
.appendingPathComponent("myFile.json", isDirectory: false))
// continue processing
} catch {
print(error)
}
我正在使用 Vapor,这是用于创建 Web 服务器的服务器端 Swift 4 框架。我有一个我想应用的迁移,它从 JSON 文件中读取;但是,我在此看到的大多数 Swift 教程都表明使用 Bundle
,据我所知,在开发服务器端 swift 应用程序时不可用,这意味着像这样的尝试不工作:
if let path = Bundle.main.url(forResource: "myFile", withExtension: "json") {
...
这引出了一个问题,给定一个相对文件路径,我如何使用服务器端读取文件 Swift?
傻我。 Vapor 公开了一个 DirectoryConfig
对象,您可以从中检索应用程序的工作目录。解析一个文件,它变成:
let directory = DirectoryConfig.detect()
let configDir = "Sources/App/Configuration"
do {
let data = try Data(contentsOf: URL(fileURLWithPath: directory.workDir)
.appendingPathComponent(configDir, isDirectory: true)
.appendingPathComponent("myFile.json", isDirectory: false))
// continue processing
} catch {
print(error)
}