@nikesport

Как отправить JSON через ObjectOutStream ?

Хочу отправить Json через сокет вот код:

Socket socket = new Socket(ipAddress, serverPort);
InputStream sin = socket.getInputStream();
OutputStream sout = socket.getOutputStream();
ObjectInputStream in = new ObjectInputStream(sin);

ObjectOutputStream out = new ObjectOutputStream(sout);
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("key","message");
jsonObject.addProperty("text","Hello world");
jsonObject.addProperty("ip_driver","ip892683740");
out.writeObject(jsonObject); .

Вот код обработчика на стороне сервера:
public check_stream(Socket socket) {
this.socket = socket;
try {
inputStream = socket.getInputStream();
outputStream = socket.getOutputStream();
objectInputStream = new ObjectInputStream(inputStream);
objectOutputStream = new ObjectOutputStream(outputStream);

} catch (IOException e) {
e.printStackTrace();
}
try {
jsonObject = (JsonObject) objectInputStream.readObject();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
JsonParser jsonParser = new JsonParser();

Object obj = jsonParser.parse(String.valueOf(jsonObject));
JsonObject jsonObj = (JsonObject) obj;
if (jsonObj.get("key").toString() == "message") {

new message(jsonObj.get("key").toString());
}

Но ниче не передаеться, дебаггер показывает что ObjectOutStream = null
Подскажите может сериализовать надо json если да то как ? :)
  • Вопрос задан
  • 2622 просмотра
Пригласить эксперта
Ответы на вопрос 1
Lure_of_Chaos
@Lure_of_Chaos
Программист
JSONObject не является Serializable, пишите и читайте строкой, используя конструктор и его метод write.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы