Android Studio的json数据解析
比如这个数据:
[
{“title”:“美国抗疫面临双重考验”, “source”:“新华网”, “ptime”:“2020-04-03 10:46:45”, “imgsrc”:“http://m.xinhuanet.com/titlepic/121054/1210542947_1585881777646_title0h.jpg”}
,{“title”:“新闻分析:韩国疫情拐点来了吗”, “source”:“新华网”, “ptime”:“2020-03-22 08:27:05”, “imgsrc”:“http://m.xinhuanet.com/titlepic/121052/1210524843_1584836096165_title0h.jpg”}
,{“title”:“美韩仍未谈妥驻军费分摊协议”, “source”:“新华网”, “ptime”:“2020-03-21 07:31:36”, “imgsrc”:“http://m.xinhuanet.com/titlepic/121052/1210522982_1584753075615_title0h.jpg”}
,…]
首先,写一个News类用来存储json数据。
代码如下:
public class News {
String title;
String source;
String ptime;
String imgsrc;
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title=title;
}
public String getSource()
{
return source;
}
public void setSource(String source)
{
this.source=source;
}
public String getPtime()
{
return ptime;
}
public void setPtime(String ptime)
{
this.ptime=ptime;
}
public String getImgsrc()
{
return imgsrc;
}
public void setImgsrc(String imgsrc)
{
this.imgsrc=imgsrc;
}
}
解析数据:
final Type listType=new TypeToken<List<News>>(){}.getType(); //获取类型
Gson gson=new Gson();
news=gson.fromJson(json,listType);//json参数为字符串类型
int i=0;
for (News nw:news)
{
names[i]=nw.getTitle();
introduces[i]=nw.getPtime()+" "+nw.getSource();
icons[i]=nw.getImgsrc();
i++;
}
要使用Gson库就要导入依赖:
在build.gradle文件的dependencies代码块中添加如下语句:
dependencies {
implementation 'com.google.code.gson:gson:2.2.4'
}