Java JSONObject在Node,js应用程序中接收时不加引号
我在Android应用程序和Node.js API之间使用Socket.IO。 我需要序列化一些对象,所以我必须在我的Android应用程序中使用JSONObject。
问题是,当接收每个对象服务器端时,JSON数据是不可parsing的,因为“值”在它们的名字上缺less引号。
客户:
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); } }
发送到NodeJS应用程序的JSON可能已经被parsing。
你可以通过检查它的types来确认它:
console.log(typeof data);
如果输出是object
那么它已经被parsing。