0

我有一堂课

class JsonMap extends HashMap<String, Object> {}

我像这样初始化了一个对象

JsonMap jm = new JsonMap();

我正在像这样将数据插入其中

jm.put("id", 4);
jm.put("message", "Hello");

但我想做一些像这样简单的事情,效果相同。

jm.setId(4);
jm.setMessage("Hello");

这是否可能无需编写方法setIdsetMessageJsonMap课堂上?

函数名称是动态的:第一部分始终是“设置”,第二部分是动态值。这将作为里面的关键HashMap

如果可能的话,谁能告诉我如何实现这一目标?

4

3 回答 3

1

您正在寻找的东西是不可能的,因为该语言不支持这种功能,所以至少您可以停止寻找内置的语言功能。您可能想要查看的替代选项:

  • 专业的 JSON 序列化器(如Jackson
  • JSONtoPOJO 转换器(其中许多可在线获得)
于 2015-08-18T20:08:11.727 回答
0

您需要编写方法来为您执行此操作

public void setId(int id) {
    jm.put("id", id);
}

public void setMessage(String message) {
    jm.put("message", message);
}
于 2015-08-18T19:45:06.917 回答
0

Java 是一种强类型语言,而不是脚本语言,所以setId,不编写方法和setMessageJsonMap类中是不可能的。

于 2015-08-18T20:03:46.270 回答