我使用谷歌的GSON包
http://code.google.com/p/google-gson/
我正在将JSON转换为Java.
我有这段代码,我在那里进行转换.
Gson gson = new Gson();
Type collectionType = new TypeToken>() {}.getType();
Collection queryProperties = gson.fromJson(query, collectionType);
我的QueryProperty类有这些字段(带有getter / setter):
int id;
String uri;
String name;
Set values;
String selected;
QueryValue类具有以下字段(带有getter / setter):
int id;
String uri;
String name;
我现在希望能够拥有不同类型的QueryValue.
我想添加一个NumericQueryValue类(QueryValue的子类),所以我可以传入一组边界来查询db.
double lower;
double upper;
并且想要创建一个新的ResourceQueryValue(QueryValue的子类),它看起来与用于以下的QueryValue相同:
int id;
String uri;
String name;
无论如何我能做到这一点.它有一个通用的QueryValue类,但根据JSON提供的参数返回正确的子类.
如果我不清楚请告诉我.