Cor*_*rey 5 java reflection android json
我正在编写一个 android 应用程序,它需要将 JSON 对象绑定到域实体中,并将 JSON 中的键作为实例变量。由于有多个域实体,每个实体都有 JSON 需要在应用程序中绑定到的不同实例变量,因此我想编写一个方法,如下所示:
我对将类绑定到 JSON 感兴趣的原因是,如果 JSON 由于某种原因发生更改,当应用程序域中不存在实例变量时,我不希望它破坏应用程序特定的 JSON 密钥。
在此先感谢您的帮助!
您很可能想使用一个 json 库来为您完成此操作。Jackson是一个很好的,Spring MVC 也使用它。
要回答您的问题,您可以getDeclaredFields()在类上使用,并用于java.lang.reflect.Modifier.isStatic()检查该字段是否是静态的。
private static class Foo {
private static long car;
private int bar;
private String baz;
}
public static void main(String[] args) {
for (Field field : Foo.class.getDeclaredFields()) {
if (!Modifier.isStatic(field.getModifiers())) {
System.out.println("Found non-static field: " + field.getName());
}
}
}
Run Code Online (Sandbox Code Playgroud)
这将打印出:
Found non-static field: bar
Found non-static field: baz
Run Code Online (Sandbox Code Playgroud)