Вы по существу сериализуетесь и десериализуетесь.
Проблема с вашим текущим подходом, то есть с использованием специального токена для разделения различных частей тела, заключается в том, что это может привести к ошибкам, если этот самый токениспользуется в такой части.Никогда нельзя быть уверенным, что разделитель будет уникальным.
Вот почему люди изобрели концепцию сериализации. JSON - широко используемый формат, см. json.org .Для этого также есть множество синтаксических анализаторов, например Gson .
Предположим, у вас есть следующий класс:
class Message {
private String sender;
private String receiver;
private String text;
}
, тогда его можно сериализовать в это:
{
"sender": "me",
"receiver": "you",
"text": "Almost any char can occur inside this, even \" or \\. They are simply escaped"
}
с таким фрагментом кода:
Message message = new Message("me", "you",
"Almost any char can occur inside this, even \" or \\. They are simply escaped");
// The Java language itself uses the same escape sequences as JSON.
// It actually works the same way
// Surprisingly easy to convert Java object to JSON
new Gson().toJson(message);
Видите?Получающая сторона может затем десериализовать его, используя этот фрагмент:
new Gson().fromJson(receivedString, Message.class);