あなたはHashMap
を拡張するカスタムクラスを作成することができます:あなたはGsonオブジェクトを作成するときに、あなたがでそれを初期化する必要があり
public class MyMapSerializer extends JsonSerializer<MyMap> {
@Override
public JsonElement serialize(MyMap arg0, Type arg1, JsonSerializationContext arg2) {
JsonObject result = new JsonObject();
for (String k : arg0.keySet()) {
if (whatever your condition is) {
result.add(k, arg0.get(k));
}
}
return result;
}
}
:
public class MyMap extends HashMap<String, Object> {
}
をして、カスタム・シリアライザを登録し、同様シリアライザのインスタンスを渡します:
Gson gson = new GsonBuilder().registerTypeAdapter(MyMap.class, new MyMapSerializer()).create();
私は投稿が多分あなたのint彼らはカスタムマップシリアライザを作成しました。 https://stackoverflow.com/questions/30475174/serialize-hashmap-to-a-json-string-while-avoiding-certain-fields-in-java – cralfaro
コピーを作成する(またはオリジナルを使用する)ことができます。興味のない値を削除しますか? –