2014-10-09 111 views
2

我正在编程一个简单的Java服务器上的TCP服务器,它正在监听某个端口上的某个URL。某些客户端(不是Java)会向服务器发送JSON消息,如{'message':'hello world!', 'test':555}。我接受尝试获取JSON的消息(我正在考虑使用GSON库)。Java读取JSON输入流

Socket socket = serverSocket.accept(); 
InputStream inputStream = socket.getInputStream(); 

但是我怎样才能从输入流中获取消息?我试图使用ObjectInputStream,但据我了解,它等待序列化数据和JSON没有序列化。

+0

JSON是一个字符串,直到您使用库将其解码为一个java对象 – scrappedcola 2014-10-09 17:27:52

回答

6

BufferedReader包裹它,并开始从中读取数据:

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
String content = br.readLine(); 
System.out.println(content); 

然后用像GSON或杰克逊库解析您的JSON字符串。