分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

浅谈JSONObject,GSON解析JSON

发布时间:2023-09-06 01:41责任编辑:蔡小小关键词:暂无标签

这次大致梳理一下关于JSON的其中两种解析方法:JSONObject和GSON

例:

 待解析的Class.json文件

[ { "id" : "1" , "name" : "Qbin" , "sex" : "male" },

  { "id" : "2" , "name" : "Qmm" , "sex" : "female" },

  { "id" : "3" , "name" : "cmy" , "sex" : "male" }]

JSONObject解析:

public class Main{

  .....

  parseJSONWithJSONObject(jsondata);

  .....

  private void parseJSONWithJSONObject(String jsonData){

    try{

      JSONArray jsonArray = new JSONArray(jsondata);

      //由于jsondata文件中定义了json数组

      for(int i = 0; i <jsonArray.length(); i++){

        JSONObject jsonObject = jsonArray.getJSONObject(i);

        //每个jsonObject对象中包含id , name , sex

        String id = jsonObject.getString("id");

        String name = jsonObject.getString("name");

        String sex = jsonObject.getString("sex");

                

        Log.d( "JSONObject" , "id =" + id);

        Log.d( "JSONObject" , "name=" + name);

        Log.d( "JSONObject" , "sex=" + sex);

      }

    }catch(Exception e){

      e.printStackTrace();

    }

  }

}

GSON解析:

首先添加GSON依赖:

compile ‘com.google.code.gson:gson:2.7‘

然后创建与Json对应的类

public class Student{

  private String id;

  private String name;

  private String sex;

  public void setId(String id){

    this.id = id;

  }

  public String getId(){

    return id;

  }

  public void setName(String name){

    this.name = name;

  }

  public String getName(){

    return name;

  }

  public void setSex(String sex){

    this.sex = sex;

  }

  public String getSex(){

    return sex;

  }

}

public class Main{

  .......

  parseJSONWithGSON(jsondata);

  .......

  private void parseJSONWithGSON(String jsondata){

    Gson gson = new Gson();

    List<Student> studentList = gson.fromJson(jsondata , new TypeToken<List<Student>>(){}.getType());

    //TypeToken类帮助捕获泛型信息,然后存入匿名内部类中,通过getType()方法获取类型

    for(Student student : studentList){ 

      Log.d( "JSONObject" , "id =" + student.getId());

      Log.d( "JSONObject" , "name=" + student.getName());

      Log.d( "JSONObject" , "sex=" + student.getSex());

    }

  }

}

浅谈JSONObject,GSON解析JSON

原文地址:https://www.cnblogs.com/qianbin/p/8423598.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved