从android的socket.io发送JSON数据

我在android中使用https://github.com/Gottox/socket.io-java-client进行套接字编程。 现在我正在接收JSON响应,现在我想从我的Android应用程序发送JSON数据到这个node.js服务器,请帮助我。 这是我的代码

buttonConnect.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // socket = null; try { SocketIO socket = new SocketIO( "http://104.131.225.38:8001/"); socket.connect(new IOCallback() { @Override public void onMessage(JSONObject arg0, IOAcknowledge arg1) { try { Log.i("Server saidwsssss:", "sssss" + arg0.toString(2)); } catch (JSONException e) { e.printStackTrace(); } } @Override public void onMessage(String arg0, IOAcknowledge arg1) { Log.i("Server said:", "" + arg0); } @Override public void onError(SocketIOException arg0) { Log.i("OnError", "" + arg0); } @Override public void onDisconnect() { Log.i("Connection Terminated", "Connection Terminated"); } @Override public void onConnect() { Log.i("Connection Established", "Connection Established"); } @Override public void on(String arg0, IOAcknowledge arg1, Object... arg2) { Log.i("Server Trigger Event:", "" + arg0 + "" + arg1); if (arg0.equals("nbUsers")) { Log.i("DONE", "DONE" + arg0.toString()); } Object[] arguments = arg2; Log.i("Args", "" + arguments[0].toString()); } }); socket.send("hello server"); socket.emit("event", "argument1", "argument2", 13.37); } catch (Exception e) { e.printStackTrace(); } } }); } 

您可以使用允许将对象转换为JSONstring的Gson对象,并将转换应用于JSONObject,如下所示:

 Entity en = new Entity(); Gson gson = new Gson(); try { JSONObject obj = new JSONObject(gson.toJson(en)); socket.emit("entity", obj); } catch (JSONException e) { e.printStackTrace(); } 

这是我的方式。 要使用Gson,你应该添加一个Gradle依赖:

  compile 'com.google.code.gson:gson:2.+'