JSON是一種輕量級的數據格式,用於數據的交互。 Android交互數據主要兩種方式:JSON和 XML。XML格式比JSON格式數量略大,所以大多都使用Json數據格式。 在Android開發的過程中,數據訪問 JSON解析就顯得尤為重要。 示例JSON 添加插件GsonFormat 添加依賴 g ...
- JSON是一種輕量級的數據格式,用於數據的交互。
- Android交互數據主要兩種方式:JSON和 XML。XML格式比JSON格式數量略大,所以大多都使用Json數據格式。
- 在Android開發的過程中,數據訪問 JSON解析就顯得尤為重要。
示例JSON
{ name :"xqz", age:21, friends:["wzj","cgj","wl"] }
添加插件GsonFormat
添加依賴 gson
GsonFormat
根據 JSON 數據自動創建實體類。
- 創建一個實體類 JavaBean
【JavaBean】
public class JavaBean {
}
- 右擊或使用 Alt+S 快捷鍵
【結果】
public class JavaBean {
/**
* name : xqz
* age : 21
* friends : ["wzj","cgj","wl"]
*/
private String name;
private int age;
private List<String> friends;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public List<String> getFriends() {
return friends;
}
public void setFriends(List<String> friends) {
this.friends = friends;
}
}
Gson
- Gson是基於事件驅動的,根據所需要取的數據建立一個對應 JSON 數據的 實體類,可以通過Gson 將JSON數據賦值到 實體類上進行使用。
【MainActivity】
String jsonStr = " { name :\"xqz\", age:21, friends:[\"wzj\",\"cgj\",\"wl\"] }";
JavaBean javaBean = new Gson().fromJson(jsonStr,JavaBean.class);
LogUtils.logi("MainActivity",javaBean.getName()+" ,age:"
+javaBean.getAge()+",friends:"+javaBean.getFriends().toArray());
【結果】
FastJson
Fastjson是一個Java語言編寫的高性能的JSON處理器,由阿裡巴巴公司開發。
implementation 'com.alibaba:fastjson:1.2.59'
String jsonStr = " { name :\"xqz\", age:21, friends:[\"wzj\",\"cgj\",\"wl\"] }"; JavaBean javaBean =JSON.parseObject(jsonStr,new JavaBean); LogUtil.logi("MainActivity",javaBean.getName()+" ,age:" +javaBean.getAge()+",friends:"+javaBean.getFriends().toArray());
Gson 和 FastJson
Gson功能更全,解析更加準確,Google公司開發。FastJson性能更好,採用獨創的演算法,阿裡巴巴開發。