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

时间:2018-06-29 04:08:44

标签: arrays json swift swift3

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

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>

# END WordPress

我想将结果转换为JSON Array

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

class WillItems{
    var documentPath: String = ""
    var documentRemark: String = ""
}

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

1 个答案:

答案 0 :(得分:0)

您可以编写一个简单的方法,如下所述将encode手动model手动转换为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)

但是更好的方法是使用任何支持json的{​​{1}}解析库(SwiftyJSONObjectMapper)或升级到Swift 3并使用{ {1}}