diff --git a/src/main/java/com/github/nkzawa/socketio/client/Socket.java b/src/main/java/com/github/nkzawa/socketio/client/Socket.java index a934e11..55a17eb 100644 --- a/src/main/java/com/github/nkzawa/socketio/client/Socket.java +++ b/src/main/java/com/github/nkzawa/socketio/client/Socket.java @@ -352,7 +352,7 @@ public class Socket extends Emitter { private static List fromJsonArray(JsonArray array) { List data = new ArrayList(); for (JsonElement v : array) { - data.add(v.isJsonPrimitive() ? gson.fromJson(v, Object.class) : v); + data.add(v.isJsonPrimitive() || v.isJsonNull() ? gson.fromJson(v, Object.class) : v); } return data; } diff --git a/src/test/java/com/github/nkzawa/socketio/client/ServerConnectionTest.java b/src/test/java/com/github/nkzawa/socketio/client/ServerConnectionTest.java index 02bda11..e8f71eb 100644 --- a/src/test/java/com/github/nkzawa/socketio/client/ServerConnectionTest.java +++ b/src/test/java/com/github/nkzawa/socketio/client/ServerConnectionTest.java @@ -157,18 +157,18 @@ public class ServerConnectionTest { @Override public void call(Object... objects) { System.out.println("connect:"); - socket.emit("echo", jsonData, "bar"); + socket.emit("echo", jsonData, null, "bar"); } }).on("echoBack", new Emitter.Listener() { @Override public void call(Object... objects) { - System.out.println(String.format("echoBack: %s, %s", objects)); + System.out.println(String.format("echoBack: %s, %s, %s", objects)); events.offer(objects); } }); socket.connect(); - assertThat(events.take(), is(new Object[] {jsonData, "bar"})); + assertThat(events.take(), is(new Object[] {jsonData, null, "bar"})); socket.disconnect(); }