Remove unchecked casts

Closes gh-5975
pull/5975/merge
Casey Scarborough 9 years ago committed by Stephane Nicoll
parent 4023637b07
commit 84d3b6a41a

@ -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);

Loading…
Cancel
Save