待解析数据
{
"age": "24",
"sex": "男",
"name": "测试"
}
第一种方式,Android自带的json解析
面对简单的数据类型时可以直接使用
try {
JSONObject jsonObject = new JSONObject("待入待解析数据");
String age=jsonObject.getString("age");//使用getString假如不存在age这个参数数据,报空并抛出异常
String sex=jsonObject.optString("sex");//使用optString假如不存在sex这个参数数据,返回空字符串""
String name=jsonObject.optString("name");
} catch (Exception e) {
e.printStackTrace();
}
第二种方式,使用Google的Gson
引入gosn库:implementation 'com.google.code.gson:gson:2.8.5'
/**
* @作者(author): android_while
* @创建时间(date): 2021/5/13
*/
//根据json数据创建json数据实体类
public class JsonBean {
//解析的参数名称
@SerializedName(value = "age")
private String ageCs;
//解析的参数名称以及别名,三个参数都可解析,数据已最后一个成功解析的参数数据
@SerializedName(value = "name",alternate = {"name1","name2"})
private String name;
//未设置serializedName属性的默认解析参数为参数名称本身,即sex
private String sex;
public String getAgeCs() {
return ageCs;
}
public String getName() {
return name;
}
public String getSex() {
return sex;
}
}
//创建Gson实例
Gson gson=new Gson();
//数据解析
JsonBean bean=gson.fromJson("待入待解析的数据",JsonBean.class);
String age=bean.getAgeCs();
String name=bean.getName();
String sex=bean.getSex();