添加jar包

implementation 'com.squareup.okhttp3:okhttp:3.4.1'
implementation 'com.google.code.gson:gson:2.7'

闭包里申请网络权限

<uses-permission android:name="android.permission.INTERNET"/>

布局文件中就一个Button,此处不再阐述,解析的XML数据将以日志方式体现
建立一个实体类,User,User里面的字段映射json数据内的标签
代码如下:

public class User {private String id;private String name;private String version;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;}public String getVersion() {return version;}public void setVersion(String version) {this.version = version;}
}

MainActivity.java代码如下:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {private Button SendRequest;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SendRequest = (Button) findViewById(R.id.SendRequest);SendRequest.setOnClickListener(this);}@Overridepublic void onClick(View v) {if (v.getId() == R.id.SendRequest){SendRequestToJson();}}private void SendRequestToJson(){try {OkHttpClient client = new OkHttpClient();Request request = new Request.Builder().url("http://192.168.0.60:8888/data.json").build();Response response = client.newCall(request).execute();String ResponseData = response.body().string();JsonParseWithGson(ResponseData);}catch (Exception e){e.printStackTrace();}}private void JsonParseWithGson(String Data){Gson gson = new Gson();/** 由于在运行期间无法得知User的具体类型,* 对这个类的对象进行序列化和反序列化都不能正常进行* Gson通过借助TypeToken类来解决这个问题。* 将User类作为TypeToken的一个匿名子类然后通过getType()获取类的参数类型* */List<User> userList = gson.fromJson(Data,new TypeToken<List<User>>(){}.getType());for (User user : userList){Log.d("ID =",user.getId());Log.d("Name =",user.getName());Log.d("Version =",user.getVersion());}}
}

Android——GSON解析JSON相关推荐

  1. Android Gson解析json详解

    目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:https://co ...

  2. Android之GSON解析JSON

    Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库. 比如: <pre name="code" class=" ...

  3. gson解析php,php,android_关于 Gson 解析JSON数据。。。,php,android - phpStudy

    关于 Gson 解析JSON数据... 1.首先,我是从服务器端传回来的JSON数据如下: {"info":"succeed","user_id&qu ...

  4. Android利用Gson解析Json数据

    其实,要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使用GSON,可以很容易的将一串JSON数据转换为一个 ...

  5. 1.Android中解析json程序代码

    Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包.测试代码如下: @Override protected void onCreate(Bundle savedI ...

  6. JSONObject 和 GSON 解析 JSON 数据详解(转)

    转载:http://www.jianshu.com/p/f99de3ec0636 点此进入:从零快速构建APP系列目录导图 点此进入:UI编程系列目录导图 点此进入:四大组件系列目录导图 点此进入:数 ...

  7. Java-json系列(一):用GSON解析Json格式数据

    GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的li ...

  8. GSON解析JSON保存到数据库

    今天给大家带来的文章为通过Gson解析json数据并快速保存至数据库的文章.我们要保存是json对象数组,本文中的json数组并非从后台获取,为了演示,直接手动构造. 需要保存到数据库的是手机的品牌和 ...

  9. 软件测试开发实战| Java版本,Gson解析json比较常用的2种方式

    软件测试开发基础中,关于json的解析是比较常见的,作为软件测试人员,json的基础需要掌握.这篇文章介绍Gson解析json比较常用的有2种方式,如下. Gson解析json比较常用的有2种方式: ...

  10. 使用Gson解析Json为Map对象探索(上)

    使用Gson解析Json为Map对象探索(上) 有些时候由于后台业务系统的不一样导致一个Json的list对象装的并非是同一种类型的对象,导致无法建立比较好的Java模型,而刚好可以利用map对象的通 ...

最新文章

  1. 三篇论文之Google MapReduce中文版
  2. vivox7刷linux系统,Vivo 找来宋仲基帮你送 X7
  3. 前端学习(1332):mongodb安装
  4. linux内存换算成b显示,Linux内存管理(下)
  5. iOS开发-停止WebView播放视频/音频
  6. 执行对象cocos2d-x 2.x action动作整理集合
  7. android播放vp8透明,Androids 使用MediaCodec在TV端播放不了视频
  8. 分类器 --- 手写数字识别(二元、多类)、多标签分类、多输出分类(图片清洗)
  9. JAVA程序设计(学堂在线-清华大学) 课后练习题(更新)
  10. mysql 允许局域网连接,怎么设置Mysql允许局域网或外部连接的方法
  11. 四种方法解决JumpGame
  12. [转]4款手机音乐播放器对比
  13. CompletableFuture模拟复杂场景使用测试。。。
  14. linux bam文件格式,sam和bam格式文件的shell小练习-答案
  15. 图象关于y轴对称是什么意思_关于x轴对称-图象关于y轴对称是什么函数
  16. Linux 逻辑卷管理器(LVM)
  17. C++并发实战:面试题2:一道迅雷笔试题
  18. 为什么建议大家使用 Linux 开发?爽!!!
  19. Linux系统小惊喜:开往2022虎年的小火车
  20. Hbase 热点问题3种解决方案

热门文章

  1. 设计模式、重构.pdf
  2. 极速信使【IOS最强大的局域网聊天软件】
  3. GIS实验之制作行政区划图
  4. 行测题练习(7-29)【1】
  5. windows消息钩子
  6. 移植conda环境到另一台服务器上
  7. SQLMAP注入拖库过程
  8. filezilla linux 乱码,解决FileZilla Server搭建FTP中文乱码问题
  9. 华为h12m03装系统_华为H22H-03服务器怎么从U盘装系统?
  10. STM32F103—有关SIM900A模块的使用