Java Websocket发射数组

Java Websocket发射数组,java,android,node.js,websocket,socket.io,Java,Android,Node.js,Websocket,Socket.io,我在JAVA中通过socket.io发送JSONArray时遇到问题 通过下面的功能,我尝试使用用户名和令牌对用户进行授权 public static void authorize() { HashMap<String, String> user = Database.getUser(); JSONArray req = new JSONArray(); try { JSONObject reqObj

我在JAVA中通过socket.io发送JSONArray时遇到问题

通过下面的功能,我尝试使用用户名和令牌对用户进行授权

public static void authorize()
    {
        HashMap<String, String> user = Database.getUser();

        JSONArray req = new JSONArray();

        try {
            JSONObject reqObj = new JSONObject();
            reqObj.put("username", user.get("username"));
            req.put( reqObj );
            reqObj = new JSONObject();
            reqObj.put("usertoken", user.get("usertoken"));
            req.put( reqObj );
        } catch (JSONException e) {
            e.printStackTrace();
        }

        Log.d("WebsocketFunctions", "Authorize: " + req.toString());
        Socket.emit("authorize", req);
    }

我不知道问题出在哪里,但有一件事我很确定,那就是您可以在没有
JSONArray
的情况下完成这项工作。我这样做,这样做有效:

JSONObject obj = new JSONObject();
obj.putOpt("username", user.get("username"));
obj.putOpt("usertoken", user.get("usertoken"));
socket.emit("authorize", obj);
如果要发送
int
double
,请使用以下命令:

obj.put("key", value);
您可以通过以下方式在socket.io服务器中访问它:

socket.on("authorize", function(data) {
   var user = data.username;
   var token = data.usertoken;
})

我用它做网袋。但它不能将JSONObject作为param处理。我只看到了一个JSONArrayI。我以为你在用“
socket.on("authorize", function(data) {
   var user = data.username;
   var token = data.usertoken;
})