一般解析json方法自己寫起來較爲繁瑣,利用開源的API可以節省很多事,達到快速的開發。
1) 自己寫的代碼:
例如:
private void parserJSON(String strJSON)
{
try
{
JSONArray jsonArray = new JSONArray(strJSON);
for (int j = 0; j < jsonArray.length(); j++)
{
JSONObject jsonObject = jsonArray.getJSONObject(j);
String icon1Url = jsonObject.getString("icon1Url");
String fristTile = jsonObject.getString("fristTitle");
String title = jsonObject.getString("title");
String message = jsonObject.getString("message");
String imageUrl = jsonObject.getString("imageUrl");
String time = jsonObject.getString("time");
String from = jsonObject.getString("from");
mList.add(new HomeData(icon1Url, fristTile, title, message, imageUrl, time, from));
}
}
catch (JSONException e)
{
e.printStackTrace();
}
}
如果json的數據多起來,就要寫很多的get,就比較煩了
2) 用gson解析:
例如:
private void parserJSON(String strJSON)
{
Gson gson = new Gson();
Type type = new TypeToken<List<HomeData>>()
{
}.getType();
List<HomeData> mDataInfo = gson.fromJson(strJSON, type);
}
總結: 兩者用起來存數據的類HomeData,容器List這多少不了,用了Gson就是不用自己寫get語句
不用寫try catch,方便了很多。
Gson用法:
1. 首先,從 code.google.com/p/google-gson/downloads/list下載GsonAPI:
google-gson-2.2.4-release.zip |
2. 把gson-2.2.4.jar copy到libs(項目res目錄新建一個libs文件夾)中。
3. 代碼中使用:就是上面的 2) 的寫法,這是解析一個jsonArray,類的屬性要跟json文件中的 key,完全一致,屬性的類型是value的類型