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您想确认上述建议的解决方案是否适合您吗?如果是的话,你能接受这个答案来帮助别人知道它是有效的吗。否则,如果您面临任何问题,请告知我们。