【问题标题】:Using NSJSONSerialization with swift on ubuntu/linux在 ubuntu/linux 上使用 NSJSONSerialization 和 swift
【发布时间】:2016-01-02 17:11:16
【问题描述】:

在 ubuntu 上运行 swift 时是否可以使用 NSJSONSerialization 解析 JSON?由于基础可用,我假设它应该可用?

如果没有,是否有任何其他方法可以在 linux 上快速序列化和反序列化 JSON?

【问题讨论】:

    标签: linux swift ubuntu swift2


    【解决方案1】:

    NSJSONSerialization 部分实现(序列化尚未实现)

    根据您的需要自己动手做,您会发现,这是了解 Swift 及其可能性的最佳投资和最佳方式。您还可以使用周围可用的开源库之一。 SwiftyJSON 很流行,举个例子

    正如 Sebastian Osiński 所说,不幸的是它也使用了 NSJSONSerialization。

    您可以检查这个非常简单但有效的示例swift json。 “完美”还很遥远,但作为一种灵感,它可以帮助你,我希望如此。

    【讨论】:

    • SwiftyJSON 在后台使用 NSJSONSerialization,所以这不是这里的解决方案。
    • @SebastianOsiński 谢谢!我从没用过,对不起。
    • 你知道 NSJSONSerialization 是否仍然只是部分实现?在哪里可以查看标准库的哪些部分在 Linux 中实现或尚未实现?
    【解决方案2】:

    我为此使用TidyJSON,因为它结合了SwiftyJSON 的大部分易用性,但不依赖NSJSONSerialization 进行解析。它可以在 Swift 工作的任何地方工作,而且我在我当前的 Swift/Ubuntu 项目中使用它就很好。

    【讨论】:

      【解决方案3】:

      如果您使用的是服务器端 Swift 框架“Perfect”,您可以执行类似的操作将“data”(二进制)类型转换为“JSONConvertable”(Swift 数组等)对象类型。

      do{
          let jsonObject = try String.init(data: jsonData, encoding: .utf8)?.jsonDecode()
          print("\(jsonObject as! [String])")
          }catch{
              response.completed(status: .badRequest)
              return
          }
      

      【讨论】:

        猜你喜欢
        • 2015-03-11
        • 2016-07-31
        • 2018-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-19
        • 2014-04-17
        • 1970-01-01
        相关资源
        最近更新 更多