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

时间:2013-05-15 21:21:13

标签: java json sockets

我使用gson库将一些类转换为JSON并将它们发送到套接字。

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

我不禁想到必须有一种更有效的方法来使用某种JSON流读取器/写入器来避免首先读取/写入字符串。假设有一种直接读取和写入流的方法,你将如何处理发送错误形成的JSON的情况。

写这个并从套接字读取它的最佳方法是什么?

这是一个学习练习,所以虽然我能想出一些有用的东西,但我正在寻找“正确”的解决方案。

1 个答案:

答案 0 :(得分:0)

我建议只为Json对象(消息)开发一个新协议。

这可能是这样的:

&&DeterminedBeginChars&& Json消息 &&DeterminedEndChars&&

这是在套接字上。这将允许您知道何时发送Json消息,以及它的长度。这样您就可以避免使用String进行任何解析。