Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在swift 5中将.txt文件json读入字典_Ios_Arrays_Swift - Fatal编程技术网

Ios 如何在swift 5中将.txt文件json读入字典

Ios 如何在swift 5中将.txt文件json读入字典,ios,arrays,swift,Ios,Arrays,Swift,嗨,我有一个json在下面的结构中 { "SCALE085": { "Fingerprints": [ { "FingerImpressionImage": { "BinaryBase64ObjectBMP": "aaaaaaaaaa" } }, { "FingerImpressionImage": { "BinaryBase64ObjectBMP": "bb

嗨,我有一个json在下面的结构中

{
  "SCALE085": {
    "Fingerprints": [
      {
        "FingerImpressionImage": {
          "BinaryBase64ObjectBMP": "aaaaaaaaaa"
        }
      },
       {
        "FingerImpressionImage": {
          "BinaryBase64ObjectBMP": "bbbbbbbbbb"
        }
      },
     {
        "FingerImpressionImage": {
          "BinaryBase64ObjectBMP": "cccccccccc"
        }
      },
       {
        "FingerImpressionImage": {
          "BinaryBase64ObjectBMP": "dddddddddd"
        }
      }

    ]
  }
}
我的json保存在此位置

file:///var/mobile/Containers/Data/Application/4D2740FA-B119-46EB-8EDD-5FEFA11CFEC1/Documents/TEstApp/ExportDemo/swift_fingerprints_0_2020.03.02_01.06.10.txt
我试图实现的是在如下数组中获取键“BinaryBase64ObjectBMP”的值

[“aaaaaa”、“bbbbbbbb”、“ccccccc”、“dddddddd”]

我该怎么做

我已将完整文件路径传递到下面的函数中,但它崩溃了

 func readFromFile(file:URL){
        let url = file
        do {
            let jsonData = try Data(contentsOf: url)
            let json = try JSONSerialization.jsonObject(with: jsonData) as! [[[String: Any]]]
            print(json)

        }
        catch {
            print(error)
        }
    }

坠机事件表明没有这样的文件

file:///var/mobile/Containers/Data/Application/4D2740FA-B119-46EB-8EDD-5FEFA11CFEC1/Documents/TEstApp/ExportDemo/swift_fingerprints_0_2020.03.02_01.06.10.txt

但我也可以看到文件夹中的文件

您需要先访问文档文件夹,然后附加文件名,并检查该路径上是否存在文件,如下所示

func getFileDocumentDirectory(name: String) -> URL? {
    let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
    let fileURL = documentsDirectory.appendingPathComponent(name)
    if FileManager.default.fileExists(atPath: fileURL.path) {
        do {
            return fileURL
        } catch {
            return nil
        }
    }
    return nil
}

在您的情况下,文件名为“swift\U指纹\u 0\u 2020.03.02\u 01.06.10.txt”

每次要访问文档文件夹时,都必须从
FileManager
获取该文件夹的URL,而且JSON显然是
[String:Any]