在Node,js app

时间:2016-04-20 14:00:56

标签: java json node.js parsing socket.io

我在Android应用和Node.js API之间使用Socket.IO。 我需要序列化一些对象,所以我必须在我的Android应用程序中使用JSONObject。

问题在于,当接收每个对象服务器端时,JSON数据是不可解析的,因为"值"在他们的名字上缺少引号。

客户:

obj = new JSONObject(); 

obj.put("lon", 2.1459905000000004);
obj.put("lat", 48.8367079);

服务器:

socket.on('position_changed', function(data, reply) {

    console.log(data);
    // Outputs { lon: 2.1459905000000004, lat: 48.8367079 }
    // Expected { "lon": 2.1459905000000004, "lat": 48.8367079 }

    try {
        newPosition = JSON.parse(data);
    }   catch (e) {
        console.log(e);
    }
}

1 个答案:

答案 0 :(得分:2)

发送到NodeJS应用程序的JSON可能已经被解析了。

您可以通过检查其类型来确认:

console.log(typeof data);

如果输出为object,那么它已经被解析了。