0

我在后端使用 node.js 和 net 模块,并在前端使用 flash。我想传递 json 格式的对象。我怎么知道所有数据何时到达我的后端,以便我可以执行 JSON.parse?

我的动作脚本:

var obj = new Object();
obj.msg = "I want pizza";
xmlSocket.send(JSON.encode(obj));

我的JavaScript:

    socket.on("data", function(data){
        var msg = JSON.parse(data.toString());

        var i = 0;
        while(i < clientData.length){

            var client = clientData[i];
            if(client.writable){
                client.write(msg.msg, 'utf8');
            }
            i++;    
        }

});

目前我收到一个错误,我不确定与此有关,因为它显示了整个对象:

undefined:1
{"msg":"I want pizza"}
                      ^
SyntaxError: Unexpected token
4

1 回答 1

0

要知道数据何时结束,您必须在前面添加一些指定长度的内容或在末尾添加一些内容以表明数据结束。因此,要么将长度放在 JSON 的前面,要么在每个 JSON 对象之后放置一个换行符。

还有:什么JSON.encode?我只知道JSON.stringify

于 2013-02-23T17:23:01.017 回答