【问题标题】:Swift: Split every item in JSON-Array into single fileSwift:将 JSON-Array 中的每个项目拆分为单个文件
【发布时间】:2023-04-09 11:20:01
【问题描述】:

我有一个 JSON-NSArray(使用 NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers)... 创建),其中包含一些项目,并希望将其中的每个项目保存为单个文件在我的本地磁盘上。

我编写了以下函数来保存本地 json 文件:

func writeLocalFileFromString(dataString dataString: String, path: String, filename: String, type: String) {

    do {
        try dataString.writeToFile("\(path)/\(filename).\(type)", atomically: true, encoding: NSUTF8StringEncoding)
    } catch let error {
        print(error)
    }

}

所以我尝试转换每个 json-item as! String。这些文件被创建并且它们包含一个好看的字符串,但是它们不是有效的 json 文件。有没有更好的方法来处理这个问题?

【问题讨论】:

    标签: json swift nsjsonserialization writetofile


    【解决方案1】:

    您循环并在json NSDictionary 中获取every item,然后转换此项目json format。不用print它作为下面的代码块,您可以根据需要将其保存到文件中。

    let json = try! NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers) as! NSDictionary
    
    // loop to get item   
    for (key, value) in json {
         // data is a NSData contains your json string
         let data = try! NSJSONSerialization.dataWithJSONObject([key, value], options: [])
         // convert NSData to String, then do what you want
         let string = String(data: data, encoding: NSUTF8StringEncoding)
         print(string)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-31
      • 2016-08-02
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多