Swift Vapor:如何读取JSON文件?

时间:2018-08-11 03:37:28

标签: swift vapor

我正在使用Vapor,这是用于创建Web服务器的服务器端Swift 4框架。我想应用从JSON文件读取的迁移。但是,我在此看到的大多数(即使不是全部)Swift教程都表明使用Bundle,据我所知,在开发服务器端swift应用程序时不可用,这意味着这样的尝试不起作用:

if let path = Bundle.main.url(forResource: "myFile", withExtension: "json") {
...

这给了一个问题,给定一个相对的文件路径,我该如何使用服务器端Swift读取文件?

1 个答案:

答案 0 :(得分:7)

愚蠢的我。蒸气公开了一个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)
}