我有一个对象,它是类似于这个类的实例:
BranchA
AnotherClass类似于:
git checkout BranchA
git rebase Branch2
好的,现在我需要将该对象(MyClass的实例)作为POST请求 string 参数传递,格式如下:
class MyClass {
let aString: String
let bString: String
var cArray = [AnotherClass]()
init etc...
}
任何想法如何实现这一目标?我正在使用Swift 1.2(和SwiftyJSON,如果有帮助的话) 谢谢!
答案 0 :(得分:2)
首先,据我所知SwiftyJSON不支持对象映射到JSON ,它只适用于从某些源检索到的解析JSON对象。
如果你需要将对象映射到JSON ,你可以使用一些很好的库,如下所示:
两者的文档都很容易理解。但是,如果您不需要从非常复杂的类创建非常复杂的JSON,您可以使用某种方法自己处理它,将对象映射到JSON,并在类NSJSONSerialization的帮助下验证您的创建在使用之前。您可以在Strong Type Object Serialization to JSON (Nerd Alert)文章中自行制作地图,从中学到很多东西。
我希望这对你有所帮助。
答案 1 :(得分:0)
您需要通过添加以下函数将两个对象转换为字典:
func convertToDictionary() -> Dictionary<String, AnyObject> {
return [
"aString": self.aString,
"bString": self.bString,
"cArray": self.cArray
]
}
两个班级。
然后使用:
序列化它let theJSONData = NSJSONSerialization.dataWithJSONObject(
dictionary ,
options: NSJSONWritingOptions(0),
error: nil)
其中dictionary
类似于dictionary = myClass.convertToDictionary
在序列化MyClass
对象之前,甚至可以序列化数组中MyClass
的嵌套对象。