私はここに夢中になっているのかどうか分かりませんが、私はいつも簡単なことをしています。SocketIOはONからJSONプロパティにアクセスできない
私はそうのようなクライアントからのメッセージを受信しています:
socket.on('request_username', function(messageFromClient) {
if(messageFromClient == undefined) {
Logger.logError("messageFromClient was undefined in socket_api.js");
return;
}
// Parse the message into Json, might not be needed.
// Logs: "{\"username\":\"test\"}"
console.log(messageFromClient);
try {
messageFromClient = JSON.parse(messageFromClient);
//Logs: {"username":"test"}
console.log(messageFromClient);
} catch(err) {
console.log("Error parsing json from request_username. Mesage is %s", err);
return;
}
// All undefined.
console.log(messageFromClient['"username"']);
console.log(messageFromClient["username"]);
console.log(messageFromClient['username']);
// msg == undefined incase the parse failed.
if(messageFromClient == undefined || messageFromClient.username == undefined) {
Logger.logError("messageFromClient.username was undefined in socket_api.js");
return;
}
var usernameRequested = messageFromClient.username;
は今、私は
"{\"username\":\"test\"}"
{"username":"test"}
Log Error: messageFromClient.username was undefined in socket_api.js
ログでこれを取得しています、私は私が間違ってやっているさっぱりだが..
ES6を使用している場合は、lambdasを使用する必要があります。私はそれらのエスケープスラッシュがあなたの問題だと思う。あなたが 'messageFromClient ['" username "']'をキーとして受け取ったときに 'messageFromClient.username'を探しています –
' '' {username: "test"} '' 'を渡してみたところ、壊れました。私はまだ同じエラーが発生します –
あなたは 'messageFromClient = {username:" test "};'を試みましたが、まだ未定義でしたか? –