繁体   English   中英

如何将数组对象转换为JSON字符串。 iOS的8。 斯威夫特1.2

[英]How to convert array object to JSON string . IOS 8 . Swift 1.2

我有一个这样的对象数组

    var AuditActivityDayListJson =  Array<AuditActivityDayModel>()


    class AuditActivityDayModel : Serializable {
    var DayNumber : Int
    var DayType : Int
    var DayDateDisplay : String
    var DayDate : String

    override init() {
        DayNumber = 0
        DayType = 0
        DayDateDisplay = ""
        DayDate = ""
    }
}

我该如何将其转换成json字符串

[{"DayType":1,"DayNumber":1,"DayDate":"2015-06-30", "DayDateDisplay":""},{"DayType":1,"DayNumber":2,"DayDate":"2015-07-01","DayDateDisplay":""}]

谢谢大家的回答。 请帮忙。

如果要使用NSJSONSerialization( https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSJSONSerialization_Class/ )等内置函数,则基本上需要将所有对象转换为数组,字典,字符串和数字

在您的情况下,这应该可以工作,将对象转换为字典,然后再转换为JSON字符串:

    let jsonCompatibleArray = AuditActivityDayListJson.map { model in
        return [
            "DayNumber":model.DayNumber,
            "DayType":model.DayType,
            "DayDateDisplay":model.DayDateDisplay,
            "DayDate":model.DayDate
        ]
    }
    let data = NSJSONSerialization.dataWithJSONObject(jsonCompatibleArray, options: nil, error: nil)
    let jsonString = NSString(data: data!, encoding: NSUTF8StringEncoding)

对于更复杂的场景,我建议使用SwiftyJSON( https://github.com/SwiftyJSON/SwiftyJSON ),它可以使错误处理更加轻松。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM