我有以下类(class):
public class Address {
String customerName;
String emailAddress;
String address1;
int age;
double height;
// .. etc, including getters and setters
}
是否有可能以某种方式获得这些字段的 HashMap?例如,String name = address.getFields("customerName");
。这将使验证变得容易得多。
最佳答案
是的,您应该能够使用以下类定义:
public class Address extends HashMap<String, Object>{
}
然后使用它:
String jsonString = "{\n"
+ " \"customerName\":\"John\",\n"
+ " \"emailAddress\":\"john@fake.com\",\n"
+ " \"address1\":\"Fake St.\",\n"
+ " \"age\": 20,\n"
+ " \"height\": 5\n"
+ "}";
Gson gson = new Gson();
Address address = gson.fromJson(jsonString, Address.class);
String name = (String)address.get("customerName"); // John
int age = (int)address.get("age"); // 5
现在,以这种方式使用 Gson 反序列化不是很有用,它对您最初创建的 POJO 更有用。
尽管如此,在某些情况下使用 Map
可能更有益,例如可以迭代的随机键/值对。
关于java - 使用 GSON,是否可以获取 HashMap 中的字段列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30033862/