如何将数组对象转换为 JSON 字符串。 IOS 8。斯威夫特 1.2
Posted
技术标签:
【中文标题】如何将数组对象转换为 JSON 字符串。 IOS 8。斯威夫特 1.2【英文标题】:How to convert array object to JSON string . IOS 8 . Swift 1.2 【发布时间】:2015-07-30 08:47:36 【问题描述】:我有一个这样的对象数组
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":""]
感谢大家的回答。请帮忙。
【问题讨论】:
检查这个***.com/questions/28325268/… 【参考方案1】:如果你想使用内置函数,如 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),这使得错误处理更加容易。
【讨论】:
以上是关于如何将数组对象转换为 JSON 字符串。 IOS 8。斯威夫特 1.2的主要内容,如果未能解决你的问题,请参考以下文章