1. 程式人生 > >json陣列轉成ArrayList

json陣列轉成ArrayList

問題:

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字串變數);