
Android——GSON解析JSON
添加 jar 包将以下 jar 文件添加到项目依赖项中:
发布日期:2021-05-25 13:00:36
浏览次数:24
分类:精选文章
本文共 2437 字,大约阅读时间需要 8 分钟。
添加 jar 包及网络权限配置
在开始编码之前,我们需要配置好项目依赖项,并为应用程序申请网络访问权限。具体步骤如下:
- com.squareup.okhttp3:okhttp:3.4.1
- com.google.code.gson:gson:2.7
这些库将帮助我们高效地处理网络请求及 JSON 数据解析。
- 配置网络权限在 AndroidManifest.xml 文件中添加网络访问权限声明:
- 实体类定义创建一个 Java 实体类
User
,用于映射 JSON 数据中的字段: - 核心功能实现在
MainActivity
中实现数据发送及 JSON 解析功能:
此外,还需在 Android 6.0 及以上版本中,通过系统授权获取运行时权限。在代码中添加相应的权限申请:
@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super onRequestPermissionsResult(requestCode, permissions, grantResults);}
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; }}
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button SendRequest; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SendRequest = (Button) findViewById(R.id.SendRequest); SendRequest.setOnClickListener(this); } @Override public 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(); parseData(responseData); } catch (Exception e) { e.printStackTrace(); } } private void parseData(String data) { Gson gson = new Gson(); ListuserList = gson.fromJson(data, new TypeToken
>() {}.getType()); for (User user : userList) { Log.d("ID:", user.getId()); Log.d("Name:", user.getName()); Log.d("Version:", user.getVersion()); } }}
以上代码示例涵盖了从依赖管理到核心功能实现的完整开发流程。通过合理使用 OkHttp 和 Gson 库,以及正确配置网络权限,您可以轻松完成此应用的开发工作。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月23日 16时42分06秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ubuntu 16.04 镜像下载
2019-03-15
CUDA9.1、cuDNN7在Ubuntu16.04上的安装
2019-03-15
微信小程序云开发:怎么删除云函数?已解决
2019-03-15
PyCharm配置anaconda环境
2019-03-15
查找最小值栈的O(1)
2019-03-15
Java面试题整理,闭关在家37天“吃透”这份345页PDF,纯干货
2019-03-15
概念唱片Plastic Beach封面高清壁纸
2019-03-15
LINUX-WIFI无线接入的一些东西
2019-03-15
word文档手写字母总会大写问题
2019-03-15
Redis中的key
2019-03-15
Spring 和 DI 依赖注入
2019-03-15
laravel server error 服务器内部错误
2019-03-15
iJ配置Maven环境详解
2019-03-15
面试题 08.01. 三步问题
2019-03-15
剑指 Offer 11. 旋转数组的最小数字
2019-03-15
作为我的第一篇csdn博客吧
2019-03-15
一道简单的访问越界、栈溢出pwn解题记录
2019-03-15
响应的HTTP协议格式+常见的响应码
2019-03-15