feat: 카카오톡/페이 모바일 페이지 호출 반영
parent
8891e11370
commit
8be75eb544
@ -0,0 +1,67 @@
|
||||
package kr.xit.core.spring.util;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonDeserializationContext;
|
||||
import com.google.gson.JsonDeserializer;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParseException;
|
||||
import com.google.gson.JsonPrimitive;
|
||||
|
||||
public class MapDeserailizer implements JsonDeserializer<Map<String, Object>> {
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public Map<String, Object> deserialize(JsonElement json, Type typeOfT,
|
||||
JsonDeserializationContext context) throws JsonParseException {
|
||||
return (Map<String, Object>) read(json);
|
||||
}
|
||||
|
||||
public Object read(JsonElement in) {
|
||||
if(in.isJsonArray()){
|
||||
|
||||
List<Object> list = new ArrayList<Object>();
|
||||
JsonArray arr = in.getAsJsonArray();
|
||||
for (JsonElement anArr : arr) {
|
||||
|
||||
list.add(read(anArr));
|
||||
}
|
||||
return list;
|
||||
}else if(in.isJsonObject()){
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
JsonObject obj = in.getAsJsonObject();
|
||||
Set<Map.Entry<String, JsonElement>> entitySet = obj.entrySet();
|
||||
for(Map.Entry<String, JsonElement> entry: entitySet){
|
||||
|
||||
map.put(entry.getKey(), read(entry.getValue()));
|
||||
}
|
||||
return map;
|
||||
}else if( in.isJsonPrimitive()){
|
||||
JsonPrimitive prim = in.getAsJsonPrimitive();
|
||||
if(prim.isBoolean()){
|
||||
|
||||
return prim.getAsBoolean();
|
||||
}else if(prim.isString()){
|
||||
|
||||
return prim.getAsString();
|
||||
}else if(prim.isNumber()){
|
||||
Number num = prim.getAsNumber();
|
||||
|
||||
if(Math.ceil(num.doubleValue()) == num.longValue())
|
||||
|
||||
return num.longValue();
|
||||
else{
|
||||
|
||||
return num.doubleValue();
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue