Commit 3734b666 authored by Stephane Nicoll's avatar Stephane Nicoll

Merge pull request #5975 from caseyscarborough:remove-unchecked-casts

* pr/5975:
  Remove unchecked casts
parents 4023637b 84d3b6a4
......@@ -21,6 +21,7 @@ import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
/**
* Thin wrapper to adapt {@link Gson} to a {@link JsonParser}.
......@@ -35,24 +36,24 @@ public class GsonJsonParser implements JsonParser {
private Gson gson = new GsonBuilder().create();
@Override
@SuppressWarnings("unchecked")
public Map<String, Object> parseMap(String json) {
if (json != null) {
json = json.trim();
if (json.startsWith("{")) {
return this.gson.fromJson(json, Map.class);
TypeToken<Map<String, Object>> type = new TypeToken<Map<String, Object>>() { };
return this.gson.fromJson(json, type.getType());
}
}
throw new IllegalArgumentException("Cannot parse JSON");
}
@Override
@SuppressWarnings("unchecked")
public List<Object> parseList(String json) {
if (json != null) {
json = json.trim();
if (json.startsWith("[")) {
return this.gson.fromJson(json, List.class);
TypeToken<List<Object>> type = new TypeToken<List<Object>>() { };
return this.gson.fromJson(json, type.getType());
}
}
throw new IllegalArgumentException("Cannot parse JSON");
......
......@@ -19,6 +19,7 @@ package org.springframework.boot.json;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
......@@ -30,10 +31,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonJsonParser implements JsonParser {
@Override
@SuppressWarnings("unchecked")
public Map<String, Object> parseMap(String json) {
try {
return new ObjectMapper().readValue(json, Map.class);
TypeReference<Map<String, Object>> type = new TypeReference<Map<String, Object>>() { };
return new ObjectMapper().readValue(json, type);
}
catch (Exception ex) {
throw new IllegalArgumentException("Cannot parse JSON", ex);
......@@ -41,10 +42,10 @@ public class JacksonJsonParser implements JsonParser {
}
@Override
@SuppressWarnings("unchecked")
public List<Object> parseList(String json) {
try {
return new ObjectMapper().readValue(json, List.class);
TypeReference<List<Object>> type = new TypeReference<List<Object>>() { };
return new ObjectMapper().readValue(json, type);
}
catch (Exception ex) {
throw new IllegalArgumentException("Cannot parse JSON", ex);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment