All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jingtum.net.SettingsCollectionDeserializer Maven / Gradle / Ivy

There is a newer version: 1.1.6
Show newest version
package com.jingtum.net;

import com.google.gson.*;
import com.google.gson.reflect.TypeToken;
import com.jingtum.model.Settings;
import com.jingtum.model.SettingsCollection;

import java.lang.reflect.Type;
import java.util.List;

public class SettingsCollectionDeserializer implements JsonDeserializer {
    public SettingsCollection deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
            throws JsonParseException {
        Gson gson = new GsonBuilder()
                .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
                .registerTypeAdapter(Settings.class, new SettingsDeserializer())
                .create();
        if (json.isJsonArray()) {
            Type SettingsListType = new TypeToken>() {
            }.getType();
            List Settings = gson.fromJson(json, SettingsListType);
            SettingsCollection collection = new SettingsCollection();
            collection.setData(Settings);
            return collection;
        }
        return gson.fromJson(json, typeOfT);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy