为 POST 请求将对象转换为 JSON 字符串
Converting Object to JSON String For POST Request
我有一个对象是 class 的一个实例,类似于:
class MyClass {
let aString: String
let bString: String
var cArray = [AnotherClass]()
init etc...
}
AnotherClass 类似于:
class AnotherClass {
let aInt: Int
let bInt: Int
var cFloat = Float
init etc...
}
好的,现在我需要将该对象(MyClass 的实例)作为 POST 请求 string 参数传递,格式如下:
{
"aString": "1",
"bString": "yannis",
"cArray": [
{
"aInt": 1965887,
"bInt": 36513032311523,
"cFloat": 1.0
},
{
"aInt": 1916915,
"bInt": 360397932121597,
"cFloat": 1.0
}
]
}
有什么想法可以实现吗?我正在使用 Swift 1.2(和 SwiftyJSON,如果有帮助的话)
谢谢!
首先,据我所知SwiftyJSON不支持对象映射到JSON,它只用于解析JSON对象检索来自某些来源。
如果您需要将 对象映射到 JSON,您可以使用一些不错的库,例如以下两个:
两者的文档都很容易理解。但是如果你不需要从一个非常复杂的 class 创建一个非常复杂的 JSON,你可以自己处理它,使用一些方法将你的对象映射到 JSON 并借助class NSJSONSerialization you can validate your creation before use it. You can learn a lot from make the mapping yourself in the Strong Type Object Serialization to JSON (Nerd Alert) 文章。
希望对你有所帮助。
您需要通过添加以下函数将两个对象转换为字典:
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
数组中的嵌套对象。
我有一个对象是 class 的一个实例,类似于:
class MyClass {
let aString: String
let bString: String
var cArray = [AnotherClass]()
init etc...
}
AnotherClass 类似于:
class AnotherClass {
let aInt: Int
let bInt: Int
var cFloat = Float
init etc...
}
好的,现在我需要将该对象(MyClass 的实例)作为 POST 请求 string 参数传递,格式如下:
{
"aString": "1",
"bString": "yannis",
"cArray": [
{
"aInt": 1965887,
"bInt": 36513032311523,
"cFloat": 1.0
},
{
"aInt": 1916915,
"bInt": 360397932121597,
"cFloat": 1.0
}
]
}
有什么想法可以实现吗?我正在使用 Swift 1.2(和 SwiftyJSON,如果有帮助的话) 谢谢!
首先,据我所知SwiftyJSON不支持对象映射到JSON,它只用于解析JSON对象检索来自某些来源。
如果您需要将 对象映射到 JSON,您可以使用一些不错的库,例如以下两个:
两者的文档都很容易理解。但是如果你不需要从一个非常复杂的 class 创建一个非常复杂的 JSON,你可以自己处理它,使用一些方法将你的对象映射到 JSON 并借助class NSJSONSerialization you can validate your creation before use it. You can learn a lot from make the mapping yourself in the Strong Type Object Serialization to JSON (Nerd Alert) 文章。
希望对你有所帮助。
您需要通过添加以下函数将两个对象转换为字典:
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
数组中的嵌套对象。