【问题标题】:Serialization and Deserialization of a Map<Object, Object>Map<Object, Object> 的序列化和反序列化
【发布时间】:2019-10-01 12:45:26
【问题描述】:

也许我现在只是愚蠢,但我一直在努力奋斗。

我正在编写一个与另一个库交互的网络应用程序。 该库生成的消息采用Map&lt;Path, Object&gt; 的形式。这些消息现在需要序列化。 我不知道这些Object 是什么类型的。它们只在两个可以处理它们的对象之间传输,但为此需要序列化。

然而,我很难理解如何去做。我已经尝试过使用 Gson,但不明白如何解决。

代码如下所示:

public interface Path extends Serializable{}

public interface Network{

    public Map<Path, Object> getSendMessages();

    public void receiveMessage(Map<Path, Object> message);

}

public class Main {

    public static void main(String[] args) {
       Network nw1 = NetworkProvider.getNetwork();
       Network nw2 = NetworkProvider.getNetwork();
       //I don't know what these actually do with the messages.
       while(true) {
           Map<Path, Object> message = nw1.getSendMessages();
           //__________What to do here?__________________

           SerializedMessage serializedMessage = ....
           Map<Path, Object> deserializedMessage = ....

           //____________________________________________
           nw2.receiveMessage(deserializedMessage);
       }
    }

}

}

【问题讨论】:

    标签: java networking serialization gson deserialization


    【解决方案1】:

    您可以使用来自JacksonObjectMapper 轻松序列化和反序列化对象Map

    这是一个序列化的例子:

    ObjectMapper mapper = new ObjectMapper();
    String jsonResult = mapper.writerWithDefaultPrettyPrinter()
      .writeValueAsString(message);
    

    欲了解更多信息,请查看此链接:

    Map Serialization

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-19
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多