评论

收藏

[Android] Android-Json文件解析(GSON,JSONOBJECT)

移动开发 移动开发 发布于:2022-05-18 22:21 | 阅读数:591 | 评论:0

JSONOBJECT解析数据
若JSON格式数据如下所示:
[{"id":"5","version":"5.5","name":"Clash of Clans"},
 {"id":"6","version":"6.0","name":"Boom Beachx"}]
可以看到要解析的数据是一个JSON数组,故将数据传入JSONArray对象中,然后循环从中取出JSONObject对象,并调用getString()方法取出数据,代码如下:
JOSONArray jsonArray = new JSONArray(jsonData);
for(int i = 0;i < jsonArray.length();i++)
{
  JSONObject jsonObject = jsonArray.getJSONObject(i);
  String id = jsonObject.getString("id");
  String name = jsonObject.getString("name");
  String version = jsonObject.getString("version");
  Log.d("zx","id = "+id);
  Log.d("zx","name = "+name);
  Log.d("zx","version = "+version);
}
GSON解析数据
先在build.gradle的dependencies中添加如下内容
implementation 'com.google.code.gson:gson:2.9.0'
若JSON格式数据如下所示:
{
  "name":"Tom",
  "age":20
}
若要解析上述数据,可以先定义一个Person类,加入name和age两个字段,然后调用如下代码就可以将JSON数据自动解析成Person对象
Gson gson = new Gson();
Person person = gson.fromJson(jsonData,Person.class);
如果要解析的是一段JSON数组会稍微麻烦一点,需要用TypeToken将期望解析成的数据类型传入fromJson()方法中,代码如下:
Gson gson = new Gson();
List<Person> pepole = gson.fromJson(jsonData,new TypeToken<List<Person>>()
                  {}.getType());
一个自动生成JSON JAVA实体类的网址:https://www.bejson.com/json2javapojo/new/


   
   
   
                        

关注下面的标签,发现更多相似文章