我正在尝试使用JSONJoy转换从Socket.IO接收的JSON。我有JSONJoy协议的以下结构
struct Order: JSONJoy {
let location: String?
let username: String?
init(_ decoder: JSONDecoder) {
location = decoder["location"].string
username = decoder["username"].string
}
}
我已经像我这样设置了Socket
socket.on("order") {data, ack in
let order = Order(JSONDecoder(data))
print(order)
}
响应总是
Order(location: nil, username: nil)
订单是这样发出的
var order = JSON.stringify("{ 'username': 'Test', 'location': 'Start'}");
localSocket.emit('order', order);
我能够确认iOS和服务器端点上的连接。
答案 0 :(得分:0)
您在字符串上调用JSON.stringify
。要么只是发出字符串,要么对字符串进行字符串化。
e.g。
var order = JSON.stringify({username: 'Test', location: 'Start'});