Arrays 如何将带有数组的模型转换为JSON数组Swift 3

Arrays 如何将带有数组的模型转换为JSON数组Swift 3,arrays,json,swift,swift3,Arrays,Json,Swift,Swift3,我有一些问题和解决方案,我有类模型,里面有数组,我的模型是这样的 class WillModel{ var name: String = "" var documents:[WillItems] = [] var isLFStatus : Bool = false var isLFShared : Bool = false } class WillItems{ var documentPath: String = "" var documentR

我有一些问题和解决方案,我有类模型,里面有数组,我的模型是这样的

class WillModel{
    var name: String = ""
    var documents:[WillItems] = []
    var isLFStatus : Bool = false
    var isLFShared : Bool = false
}

class WillItems{
    var documentPath: String = ""
    var documentRemark: String = ""
}
我想将结果转换为JSON数组,如

{
 "name" : "value",
 "documents" : [
      {
       "documentPath" : "value"
       "documentRemark" : "value"
       },
      {
       "documentPath" : "value2"
       "documentRemark" : "value2"
      }
      ],
 "isLFStatus" : true,
 "isLFShared" : true
}

我正在使用Swift 3,感谢您的解决方案

您可以编写一个简单的方法,手动将您的
模型
编码为
json
,如下所示

func encodeWillModel(_ model: WillModel) -> [String: Any] {
    var params: [String: Any] = [:]
    params["name"] = model.name
    params["documents"] = model.documents.map({["documentPath": $0.documentPath,
                                                "documentRemark": $0.documentRemark]})
    params["isLFStatus"] = model.isLFStatus
    params["isLFShared"] = model.isLFShared
    return params
}
您可以通过任何模型来获取json,比如

let willModelJSON = encodeWillModel(yourModel)

但更好的方法是使用任何支持
swift3
json
解析库(,),或升级到
swift4
,并使用
可编码/可解码

到目前为止您尝试了什么?我强烈建议更新到swift4并采用
Codable
JSONEncoder
可以分两行完成。@j.lo您想确认上述建议的解决方案是否适合您吗?如果是的话,你能接受这个答案来帮助别人知道它是有效的吗。否则,如果您面临任何问题,请告知我们。