我正在编写一个Android应用程序,需要将JSON对象绑定到域实体,并使用JSON中的键作为实例变量。由于有几个域实体,每个域实体都有不同的实例变量,JSON需要在应用程序中绑定它们,我想写一个方法如下:
我对从类到JSON的绑定感兴趣的原因是因为如果JSON由于某种原因而发生更改,我不希望它在实例变量不存在时打破应用程序应用程序的域名,用于特定的JSON密钥。
提前感谢您的帮助!
答案 0 :(得分:3)
很可能你想使用一个为你做这件事的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());
}
}
}
这将打印出来:
Found non-static field: bar
Found non-static field: baz
答案 1 :(得分:0)
oksayt's answer是正确的,但我会带着一点点盐。并非每个字段都包含应该公开显示的属性。使用的机制是Java Bean Introspector。您可以使用我之前的问题的答案作为参考:
其他参考: