解析json陣列物件
阿新 • • 發佈:2019-01-04
專案中第一次遇到解析json時返回的是陣列物件,經查閱相關資料,解決方法如下:
第一種方法:
import java.lang.reflect.Type; import java.util.Iterator; import java.util.LinkedList; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; String jsonData = "[{\"username\":\"arthinking\",\"userId\":001},{\"username\":\"Jason\",\"userId\":002}]"; Type listType = new TypeToken<LinkedList<User>>(){}.getType(); Gson gson = new Gson(); LinkedList<User> users = gson.fromJson(jsonData, listType); for (Iterator iterator = users.iterator(); iterator.hasNext();) { User user = (User) iterator.next(); System.out.println(user.getUsername()); System.out.println(user.getUserId()); }
第二種方法:
import org.json.JSONArray; import org.json.JSONObject; //jsonData的資料格式:[{ "id": "27JpL~jd99w9nM01c000qc", "version": "abc" },{ "id": "27JpL~j6UGE0LX00s001AH", "version": "bbc" },{ "id": "27JpL~j7YkM0LX01c000gt", "version": "Wa_" }] JSONArray arr = new JSONArray(jsonData); for (int i = 0; i < arr.length(); i++) { JSONObject temp = (JSONObject) arr.get(i); String id = temp.getString("id"); String id = temp.getString("version"); }