json陣列轉成ArrayList
阿新 • • 發佈:2019-02-03
問題:
1、json轉成ArrayList
解決辦法:
1、用gson轉;
2、匯入gson-2.2.4-javadoc.jar、gson-2.2.4-sources.jar、gson-2.2.4.jar
3、新增函式:
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<T>(); for (JsonObject jsonObject : jsonObjects) { arrayList.add(new Gson().fromJson(jsonObject, clazz)); } return arrayList; } ----------
4、例子:
注意:1、arrayList中的物件是JsonObject物件
2、JsonObject與JSONObject的區別,前者是com.google.gson.JsonObject,後者是org.json.JSONObject
ArrayList arrayList=Apis.jsonToArrayList(json, JsonObject.class);
for(int i=0;i<arrayList.size();i++){
JsonObject jsonObject=(JsonObject)arrayList.get(i);
String id=String.valueOf(jsonObject.get("id"));
.......
5、如何將一個String字串轉換為JSONObject:
例子:
{"coorX":29.1312,"coorY":20.1262,"mapId":1,"type":"AbsoluteLocation"}
JSONObject jsonObject_location = new JSONObject(json字串變數);