2016-12-20 7 views
2

JSONのNode.js WebSocketサーバーにデータをラップしています。私は、JSONオブジェクトサーバ側の内容をログに記録しようとしているが、関係なく、私は試す方法、ノードがちょうどobject Objectノードはメソッドに関係なくJSONオブジェクトの内容をログに記録しません

をログに記録する私はなぜNode.jsのはobject Objectが記録されます

console.log(message.data) 
console.log(util.inspect(message.data, {showHidden: true, depth: null})); 
console.log(JSON.stringify(message.data)); 

を試してみましたか? JSONが不正な形式ですか?

私は非常に単純なJSONオブジェクトをクライアントから送信しています。

ws.send({'a': 0, 'b': 1}); 
+0

少なくともログにNULLがありますか?何も記録していなければ、決してそこにはいない可能性があります。 – chungtinhlakho

+0

質問に記載されているように、ログメソッドに関係なく「オブジェクトオブジェクト」だけをログに記録します。今、私がmessage.data.aを記録しようとすると、定義されていないログ –

+1

がフロントエンドに送信され、ブラウザのコンソールにログインしようとします。 –

答えて

3

のようなものがクライアントがオブジェクトを解析できませんされていないサーバー、WebSocketを介して、object Objectを送信される可能性があります。オブジェクトを送信する前にオブジェクトを文字列化してみてください。

ws.send(JSON.stringify({'a': 0, 'b': 1})); //client 

console.log(JSON.parse(message.data)); //server 
+0

良いキャッチ!それはまさにそれだった。私はできるだけ早く受け入れます。 –

+2

@NativeCoderありがとう、このようなエラーを捕捉するのに役立つので、 'rubber duck'メソッドの使用をお勧めします。 –

+0

私はそれがメッセージを受信したときにクライアントにデータを直接送り返すことを意味していますか? –

関連する問題