Gson是什么?
Gson是谷歌提供用于解析JSON数据的开源库
推荐前提阅读:Android基础——XML和JSON解析
Gson使用
添加依赖
implementation 'com.google.code.gson:gson:2.8.7'
在res下的raw文件夹新建data.json:
[
{
"id": "1",
"name": "tom"
},
{
"id": "2",
"name": "john"
}
]
新建类Person:
public class Person {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
修改Activity:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
parseJSONWithGSON();
}
private void parseJSONWithGSON() {
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.data)));
StringBuilder result = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
result.append(line);
}
Gson gson = new Gson();
List<Person> personList = gson.fromJson(result.toString(), new TypeToken<List<Person>>() {
}.getType());
for (Person person : personList) {
Log.d("MainActivity", person.getId() + " " + person.getName());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}