我有一个JS通过WebSocket发送JSON。如下所示:
function senddata()
{
var obj = {};
var arrayOfRequests = [];
arrayOfRequests.push({
"id":22,
"repeat":false,
})
obj.DataReq = arrayOfRequests;
var stringToSend = JSON.stringify(obj);
websocketConnection.send( stringToSend );
}
字符串
这段代码按预期工作,服务器发回请求的信息。
我在Swift中也做了同样的事情。
func send(text: String) {
let message = text
guard let json = try? JSONEncoder().encode(message),
let jsonString = String(data: json, encoding: .utf8)
else {
return
}
webSocketTask?.send(.string(jsonString)){ error in
if let error = error {
print("Error sending message", error)
}
}
}
send(text: "{“DataReq”:[{“id”:22,“repeat”:false}]}")
型
这样,服务器就不会发送任何响应。
如果将这两个示例连接到WebSocket回显服务器
JS代码发送{“DataReq”:[{“id”:22,“repeat”:false}]}
而Swift代码发送“{“DataReq”:[{“id”:9,“repeat”:false}]}"。
任何帮助都是感激的。
2条答案
按热度按时间hec6srdp1#
将JSON字符串编码为JSON是没有意义的。
字符串
在
send
行中,双引号无效。型
pw9qyyiw2#
试试这个:
字符串