Как отправить объект на сервер с ключом - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь следовать этому примеру в JS и преобразовать его в Java https://github.com/cryptoqween/cryptoqween.github.io/blob/master/streamer/current/stream.js

Этот код ниже из документа:

var subscription = ['5~CCCAGG~BTC~USD', '5~CCCAGG~ETH~USD', '11~BTC', '11~ETH'];
socket.emit('SubAdd', { subs: subscription });

Так, как я могу написать это в Android Studio, вот что я попробовал

String[] subscription = {"5~CCCAGG~BTC~USD", "5~CCCAGG~ETH~USD", "11~BTC", "11~ETH"};
HashMap<String, String[]> maps = new HashMap<>();
Socket mSocket;

maps.put("subs", subscription);
try {
   mSocket = IO.socket("https://streamer.cryptocompare.com/");
} catch (URISyntaxException e) {e.printStackTrace();}
mSocket.connect();
mSocket.on(Socket.EVENT_CONNECT, onConnect);
mSocket.on("m", onData);

Вот так я отправляю элемент на сервер:

mSocket.emit("SubAdd", maps);

И я продолжаю получать сообщение об ошибке "401 ~ BADFORMAT" с сервера, Может кто-нибудь помочь мне, пожалуйста.

1 Ответ

0 голосов
/ 03 января 2019

Я такой глупый, это JSONObject и JSONArray. Этот код ниже будет работать:

JSONArray b = new JSONArray();
JSONObject a = new JSONObject();

b.put("5~CCCAGG~BTC~USD", "5~CCCAGG~ETH~USD", "11~BTC", "11~ETH")
a.put(b)

socket.emit("subs",a)
...