【问题标题】:Deserialize a file with only methods仅使用方法反序列化文件
【发布时间】:2019-02-01 14:00:47
【问题描述】:

我需要将仅包含方法调用的 Java 文件序列化/反序列化为 JSON 文件。 我不知道这是否可能。我寻找它,发现提到了反射 API。

这是我第一次研究 JSON,想知道它是否可行以及我是否走在正确的道路上。

【问题讨论】:

  • 嗨杰里米!首先你所说的Java文件是什么意思。那么 - 你想要序列化/反序列化某些东西的最终目的是什么?
  • 嗨!谢谢您的回答。我正在 Android Studio 上创建一个应用程序,该应用程序具有多个功能,您可以通过生成器调用它们,该生成器调用具有特定参数的所有方法。我想将这些功能放在一个外部文件中,以便应用程序可以读取这个文件并在功能中显示。所以这个“外部文件”就是要反序列化的 JSON 文件。反序列化将调用描述特征的所有方法。

标签: java json serialization reflection deserialization


【解决方案1】:

这里有两个项目。读取 JSON 文件,您可以使用 File Stream 和 StreamReader。 FileReader 是 StreamReader 的一个实现,所以下面是一个不错的示例。

https://crunchify.com/how-to-read-json-object-from-file-in-java/

第二点是动态调用方法,是的,你是对的,你想为此使用反射。对于以下内容,滚动到“获取类对象”部分。反射带有它自己的一组警告,但它对于运行时脚本很有用。不过,这里还有其他选项,具体取决于您的用例的复杂性。

我最后一次在 Java 中使用它是用于 javascript 解释器和我的应用程序代码之间的接口,用于一个游戏项目,我希望我的队友能够编写游戏内事件的脚本,而无需为任何更改重新构建.

https://www.journaldev.com/1789/java-reflection-example-tutorial

编辑:回答用户的问题:

【讨论】:

  • 什么是StreamReader?而FileReadsrReader 的子类。
  • @user207421 - 见上图。
  • 自己看吧。没有StreamReader 那里。
  • 'InputStreamReader' - 不要迂腐
  • 这是一个迂腐的职业,这是必然的。编译器也很迂腐。为什么不解决你的答案而不是射击信使?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-24
  • 2011-07-27
  • 2017-08-11
  • 2013-04-01
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多