nodeJS上的JSON问题
JSON problema on nodeJS
你好,我有一个问题,在javascript的对象传递参数到NodeJS。
当我在函数内部创建对象时:
var obj = {host: 123,
port: 456}
并给出一个ws.send(obj.host)它返回给我123。
但是,当我执行以下操作时:
function a(param) {
var obj = param;
ws.send (obj.host);
}
a({host: 123, port: 456});
返回undefined
代码是:
var http = require("http");
var Sequelize = require("sequelize");
var mysql = require('sequelize').mysql;
var WebSocketServer = require('ws').Server;
var server = http.createServer(function(request, response) {
response.end("WS port:1337");
});
server.listen(1337, function() { });
var wss = new WebSocketServer({ server: server });
wss.on('connection', function(ws) {
ws.on('message', function(message) {
ws.send(exec(message));
});
function exec(msg) {
var cmd = msg.split(':')[0].toLowerCase(); //Get the first string before ':' and all cmd begin with 3 letters.
var message = '';
for(i=4; i<msg.length; i++) {
message += msg[i];
}
console.log("Cmd type: " + cmd);
switch(cmd) { //send 'msg:' type the message after ':'.
case 'msg' :
return message;
case 'sql' : //send to another function the object message like {host: 'x.x.x.x', port: xxxx, user...}
sql(message);
return 'res:';
break;
default:
return "not defined!";
}
}
});
当你通过websocket发送JSON时,你应该在发送之前将字符串转换为JSON。JSON.stringify(str)函数可能会对您有所帮助。当然,当服务器接收到此消息时,您应该将其更改回array。
相关文章:
- Ext.js从json构建模型关系的问题
- 将数据加载到使用JSON返回的表单字段时出现问题
- 在javascript中使用json数据导致问题
- 神秘的ajax json请求问题jQuery
- JavaScript/jQuery JSON数组问题-值为未定义
- 从第三方服务器发出解析json的问题
- 获取json结果的身份验证问题
- 关于复杂JSON解析(angularjs和javascript)的问题
- JSON分析拼接问题
- 使用.map解析JSON对象时出现问题
- Javascript/Json日期转换问题
- Webgl 加载 json 模型问题
- 从 JSON 对象获取数据时出现问题
- JSON 格式问题
- 使用 jQuery.map 后使用 JSON.stringify 的问题
- 使用 GitHub API 在 dojo 中执行 PUT 更新会返回 400:解析 JSON 时出现问题
- node.js+MySQL;JSON结果-回调问题&没有响应客户端
- SAPUI5绑定问题:json文件中维护的列表项链接不起作用
- 使用jQuery进行谷歌地图api调用时出现问题(JSON未返回)
- ExtJS中提交的响应有问题(JSON中的响应,但HTML输入的地方)