Java 从套接字读取/向套接字写入JSON

Java 从套接字读取/向套接字写入JSON,java,json,sockets,Java,Json,Sockets,我正在使用gson库将一些类转换为JSON并通过套接字发送它们 目前,我可以转换为字符串,并使用BufferedWriter将字符串写入套接字。我可以使用BufferedReader将另一端读取为字符串,然后将字符串解析为JSON对象。我必须先将JSON字符串的长度发送到JSON对象之前的管道中 我忍不住想,必须有一种更有效的方法来实现这一点,使用某种JSON流读取器/写入器来避免先读取/写入字符串。假设有一种直接读取和写入流的方法,您将如何处理发送格式错误的JSON的情况 从套接字写入和读取的

我正在使用
gson
库将一些类转换为JSON并通过套接字发送它们

目前,我可以转换为字符串,并使用
BufferedWriter
将字符串写入套接字。我可以使用
BufferedReader
将另一端读取为字符串,然后将字符串解析为JSON对象。我必须先将JSON字符串的长度发送到JSON对象之前的管道中

我忍不住想,必须有一种更有效的方法来实现这一点,使用某种JSON流读取器/写入器来避免先读取/写入字符串。假设有一种直接读取和写入流的方法,您将如何处理发送格式错误的JSON的情况

从套接字写入和读取的最佳方式是什么


这是一个学习练习,因此尽管我可以想出一些有效的方法,但我正在寻找“合适的”解决方案。

为什么必须先发送json字符串的长度?请参阅@Miseraverable,我的意思是,对于我当前的实现,我必须首先发送字符串的长度。