Şöyle yaparız.
@Expose ile işaretli olmayan alanları dahil etmez. Şöyle yaparız.
Örnek
Şöyle yaparız.
Şöyle yaparız
Şöyle yaparız.
Şöyle yaparız.
Gson gson = builder
.create();
excludeFieldsWithoutExposeAnnotation metodu@Expose ile işaretli olmayan alanları dahil etmez. Şöyle yaparız.
Gson gson = GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
registerTypeAdapter metodu - JsonDeserializerÖrnek
Şöyle yaparız.
class BooleanJsonDeserializer implements JsonDeserializer<Boolean> {
@Override
public Boolean deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
JsonPrimitive jsonPrimitive = json.getAsJsonPrimitive();
if (jsonPrimitive.isBoolean()) {
return jsonPrimitive.getAsBoolean();
} else {
return jsonPrimitive.getAsInt() == 0 ? false : true;
}
}
}
Gson gson = new GsonBuilder()
.registerTypeAdapter(Boolean.class, new BooleanJsonDeserializer()).create();
ÖrnekŞöyle yaparız
Gson gson =
new GsonBuilder()
.registerTypeAdapter(CommentData.class, new JsonDeserializer<CommentData>() {
@Override
public CommentData deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
...
}
})
.serializeNulls()
.create();
registerTypeAdapter metodu - JsonDeserializer + JsonSerializerŞöyle yaparız.
public class FooAdapter<T> implements JsonSerializer<T>, JsonDeserializer<T>
{
@Override
public JsonElement serialize(T src, Type typeOfSrc, JsonSerializationContext context) {
JsonObject jsonObject = new JsonObject();
...
return jsonObject;
}
@Override
public T deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
throws JsonParseException
{
...
return context.deserialize(...,...);
}
}
Şöyle yaparız.builder.registerTypeAdapter(Foo.class, new FooAdapter<Foo>());
registerTypeAdapter metodu -TypeAdapterŞöyle yaparız.
builder.registerTypeAdapter(BigDecimal.class, new TypeAdapter<BigDecimal>() {
@Override
public BigDecimal read(JsonReader reader) throws IOException {
if (reader.peek() == JsonToken.STRING) {
String stringNum = reader.nextString();
if (stringNum == null || stringNum.isEmpty()) {
return null;
} else {
return new BigDecimal(stringNum);
}
} else {
return null;
}
}
@Override
public void write(JsonWriter writer, BigDecimal num) throws IOException {
// TODO Auto-generated method stub
}
});
setExclusionStrategies metodu
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
builder.setExclusionStrategies(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
...
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
...
}
});
serializeNulls metoduŞöyle yaparız.
Gson gson = new GsonBuilder().serializeNulls().create();
setPrettyPrinting metoduŞöyle yaparız.
builder.setPrettyPrinting();
Hiç yorum yok:
Yorum Gönder