Ios 如何将struct转换为json Swift
我需要像这样创建JSON,但我的代码不起作用:Ios 如何将struct转换为json Swift,ios,swift,Ios,Swift,我需要像这样创建JSON,但我的代码不起作用: { "room": "string", "products": [{ "name": "string", "quantity": 0 }], "observations": "string", "date": "dd-mm-yyyy hh:mm:ss" } 我需要将此结构转换为JSON,我的代码是: struct Products: JSONSerializable {
{
"room": "string",
"products": [{
"name": "string",
"quantity": 0
}],
"observations": "string",
"date": "dd-mm-yyyy hh:mm:ss"
}
我需要将此结构转换为JSON,我的代码是:
struct Products: JSONSerializable {
let name: String
let quantity: Int
}
struct Pedido: JSONSerializable{
let room: String
let products: Array
let observations: String
let date: NSDate
}
此代码无效,在日志中返回nil:
let JSONPedido = Pedido(room: receivedString,
products: products,
observations: observationString!,
date: date).ToJSON()
使用structs,您还可以创建一个变量,作为struct值的字典表示形式。在这种情况下,它将如下所示:
struct Pedido {
let room: String
let products: Array
let observations: String
let date: NSDate
var pedidoJSON: [String: AnyObject] {
return ["room" : room, "products": products, "observations": observations, "date": date]
}
}
然后,当您需要JSON值时,可以像这样访问它
//assuming you already have a pedido instance
let pedidoJson = pedidoInstance.pedidoJSON
检查:
JSONSerializable
不是Swift的一部分。如果您使用的是像Alamofire这样的第三方库,您应该在问题中对此进行解释(使用链接)。我想你不工作的.ToJSON()
也来自它。嘿,伙计,谢谢你。我无法创建pedidoJSON os结构。。。无法计算此args“let”声明的属性或计算的属性必须是变量@pbush25您的解决方案可行,但您不认为OP应该使用JSONSerializable,因为他们已经符合它了吗?或者如果他们不使用它,他们不应该遵守它…:pA结构无法符合JSONSerializable。这不是Swift类型,OP一定是从其他地方得到协议的。