Android --Gson解析json数据
private void analyseJson() throws Exception {
InputStream is=getAssets().open("dataTest.json");
ByteArrayOutputStream baos=new ByteArrayOutputStream();
byte[] bytes=new byte[1024];
int len;
while ((len=is.read(bytes))!=-1){
baos.write(bytes,0,len);
}
String jsonData = baos.toString();
Log.d(TAG,"jsonData--->"+jsonData);
Gson gson=new Gson();
List<Person> personList=gson.fromJson(jsonData,new TypeToken<List<Person>>()
{}.getType());
for(Person person:personList){
Log.d(TAG,person.getId()+" "+person.getName()+" "+person.getClasss());
}
}
1.读本地json文件。在main目录下创建asserts文件夹,将json文件放进去
InputStream is=getAssets().open("dataTest.json");
该句即可读取成流,再转为baos
2.创建对应json解析数据得Bean类用于接收数据,分条展示。
3.运行结果
注:
1.从网络得到的json数据同样操作,不同点在于读取的is流的方式。is得到后都是如此操作。关键数据拿出来展示到recyclerView等空间上都是可以的。
2.Gson是google开源的,需手动添加依赖
implementation 'com.google.code.gson:gson:2.6.2'
|