Example usage for com.google.gson GsonBuilder registerTypeAdapter

List of usage examples for com.google.gson GsonBuilder registerTypeAdapter

Introduction

In this page you can find the example usage for com.google.gson GsonBuilder registerTypeAdapter.

Prototype

@SuppressWarnings({ "unchecked", "rawtypes" })
public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter) 

Source Link

Document

Configures Gson for custom serialization or deserialization.

Usage

From source file:com.luan.thermospy.android.core.rest.GetLogSessionReq.java

License:Open Source License

@Override
public void onOkResponse(JSONObject response) {
    GsonBuilder builder = new GsonBuilder();

    // Register an adapter to manage the date types as long values
    builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
        public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                throws JsonParseException {
            return new Date(json.getAsJsonPrimitive().getAsLong());
        }//  w w w  . j  a  v a2  s.  c  o  m
    });

    Gson gson = builder.create();
    mListener.onLogSessionRecv(gson.fromJson(response.toString(), LogSession.class));
}

From source file:com.luan.thermospy.android.core.rest.GetServiceStatusReq.java

License:Open Source License

@Override
public void onOkResponse(JSONObject response) {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder = gsonBuilder.registerTypeAdapter(ServerStatus.class, new ServerStatusSerializer());
    Gson gson = gsonBuilder.create();/*w  w  w. j  a v a 2 s.  com*/
    try {
        ServiceStatus t = gson.fromJson(response.toString(), ServiceStatus.class);
        mListener.onServiceStatusRecv(t);
    } catch (JsonSyntaxException ex) {
        mListener.onServiceStatusError();
    }
}

From source file:com.luan.thermospy.android.core.rest.GetTemperatureEntryListReq.java

License:Open Source License

@Override
public void onOkResponse(JSONArray response) {
    List<TemperatureEntry> logSessionsList = new ArrayList<TemperatureEntry>();
    GsonBuilder builder = new GsonBuilder();

    // Register an adapter to manage the date types as long values
    builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
        public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                throws JsonParseException {
            return new Date(json.getAsJsonPrimitive().getAsLong());
        }//from   ww  w .j a va2s.  c  o m
    });

    Gson gson = builder.create();
    try {
        for (int i = 0; i < response.length(); i++) {
            logSessionsList.add(gson.fromJson(response.getJSONObject(i).toString(), TemperatureEntry.class));
        }
        mListener.onTemperatureEntryRecv(logSessionsList);
    } catch (JSONException ex) {
        mListener.onTemperatureEntryError();
    }
}

From source file:com.luan.thermospy.android.core.rest.StartLogSessionReq.java

License:Open Source License

private JSONObject getJsonObject() {
    List<LogSession> logSessionsList = new ArrayList<LogSession>();
    // Creates the json object which will manage the information received
    GsonBuilder builder = new GsonBuilder();

    // Register an adapter to manage the date types as long values
    builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
        public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                throws JsonParseException {
            return new Date(json.getAsJsonPrimitive().getAsLong());
        }// w w  w.j  a va  2  s. c om
    });

    Gson gson = builder.create();

    try {
        return new JSONObject(gson.toJson(mLogSession, LogSession.class));
    } catch (JSONException | JsonIOException e) {
        return null;
    }
}

From source file:com.luan.thermospy.android.core.rest.StartLogSessionReq.java

License:Open Source License

@Override
public void onOkResponse(JSONObject response) {
    GsonBuilder builder = new GsonBuilder();

    // Register an adapter to manage the date types as long values
    builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
        public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                throws JsonParseException {
            return new Date(json.getAsJsonPrimitive().getAsLong());
        }//from  ww w .  ja v  a2s .c  o m
    });

    Gson gson = builder.create();
    try {
        LogSession logSession = gson.fromJson(response.toString(), LogSession.class);
        mListener.onStartLogSessionRecv(logSession);
    } catch (JsonSyntaxException ex) {
        mListener.onStartLogSessionError();
    }
}

From source file:com.luan.thermospy.android.core.rest.StopLogSessionReq.java

License:Open Source License

@Override
public void onOkResponse(JSONObject response) {
    GsonBuilder builder = new GsonBuilder();

    // Register an adapter to manage the date types as long values
    builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
        public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                throws JsonParseException {
            return new Date(json.getAsJsonPrimitive().getAsLong());
        }/*w w w .j  av a2  s .  c o  m*/
    });

    Gson gson = builder.create();
    try {
        LogSession logSession = gson.fromJson(response.toString(), LogSession.class);
        mListener.onStopLogSessionRecv(logSession);
    } catch (JsonSyntaxException ex) {
        mListener.onStopLogSessionError();
    }
}

From source file:com.mapr.storm.SpoutState.java

License:Apache License

public static SpoutState fromString(String serialized) {
    GsonBuilder gson = new GsonBuilder();
    gson.registerTypeAdapter(SpoutState.class, new SpoutStateAdapter());
    return gson.create().fromJson(serialized, SpoutState.class);
}

From source file:com.microsoft.aad.test.todoapi.ToDoActivity.java

License:Open Source License

/**
 * Register gson serializer for long and date type
 * //from   w  w  w .  ja  v  a  2s .co  m
 * @return
 */
public static GsonBuilder createServiceGsonBuilder() {
    GsonBuilder gsonBuilder = new GsonBuilder();

    // Register custom date serializer/deserializer
    gsonBuilder.registerTypeAdapter(Date.class, new DateSerializer());
    LongSerializer longSerializer = new LongSerializer();
    gsonBuilder.registerTypeAdapter(Long.class, longSerializer);
    gsonBuilder.registerTypeAdapter(long.class, longSerializer);
    gsonBuilder.serializeNulls();
    return gsonBuilder;
}

From source file:com.microsoft.onenoteapi.service.GsonDateTime.java

License:MIT License

public static GsonBuilder getOneNoteBuilder() {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(DateTime.class, new DateTimeSerializer());
    gsonBuilder.registerTypeAdapter(DateTime.class, new DateTimeDeserializer());
    return gsonBuilder;
}

From source file:com.monmonja.library.server.JsonRpcRequest.java

License:Open Source License

private void makeGsonBuilder() {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);
    gsonBuilder.registerTypeAdapter(JsonResponse.class, new JSonResponseDeserializer());
    this.gson = gsonBuilder.create();
}