[
{
"type": "123",
"value": 123
},
{
"type": "234",
"value": 234
}
]
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
public class DataFactory
{
public static Object getInstanceByJson(Class<?> clazz, String json)
{
Object obj = null;
Gson gson = new Gson();
obj = gson.fromJson(json, clazz);
return obj;
}
/**
* @author I321533
* @param json
* @param clazz
* @return
*/
public static <T> List<T> jsonToList(String json, Class<T[]> clazz)
{
Gson gson = new Gson();
T[] array = gson.fromJson(json, clazz);
return Arrays.asList(array);
}
/**
* @param json
* @param clazz
* @return
*/
public static <T> ArrayList<T> jsonToArrayList(String json, Class<T> clazz)
{
Type type = new TypeToken<ArrayList<JsonObject>>()
{}.getType();
ArrayList<JsonObject> jsonObjects = new Gson().fromJson(json, type);
ArrayList<T> arrayList = new ArrayList<>();
for (JsonObject jsonObject : jsonObjects)
{
arrayList.add(new Gson().fromJson(jsonObject, clazz));
}
return arrayList;
}
}