栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

个人笔记:Kotlin使用OKHttp解析Json文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

个人笔记:Kotlin使用OKHttp解析Json文件

在进行网络请求前需要做以下几件事:

1.导入依赖

implementation 'com.squareup.okhttp3:okhttp:4.8.1'

2.添加网络请求

需要在AndroidManifest.xml 中添加如下代码,不然无法进行网络请求

3.如果是发送http请求需要在res文件夹下创建一个network.xml,编写如下代码



    

然后在AndroidManifest.xml 中的application中添加

android:networkSecurityConfig="@xml/network"

如果是https请求则可以忽略第二步。

至此,才能过正确发送请求,接下来将以一段具体json文本做演示

上图就是需要进行解析的json文件

首先需要在activity中写发送请求的方法(记得要在onCreate中调用sendRequestWithOkHttp方法)

private fun sendRequestWithOkHttp() {
            thread {
                val client = OkHttpClient()
                val request = Request.Builder()
                    .url("http:******")
                    .build()
                val response = client.newCall(request).execute()
                val responseData = response.body?.string()
                if (responseData != null) {
                    parseJSONWithJSONObject(responseData)
                }
            }

    }

 然后再编写一个parseJSONWithJSONObject方法用于解析接受到的json文件

private fun parseJSONWithJSONObject(jsonData:String) {
                try {
                    val jsonObject = JSONObject(jsonData)
                    val data = jsonObject.optString("data")
                    val jsonContent = JSONObject(data)
                    val id = jsonContent.optString("id")
                    val creatTime = jsonContent.optString("createTime")
                    val content = jsonContent.optString("content")
                    val cover = jsonContent.optString("cover")
                    Log.d("id",id)
                    Log.d("createtime",createTime)                                 
                } catch (e: Exception) {
                    e.printStackTrace()
                }
        
        }

需要注意的是上述示例json中的内容是一个嵌套类型,具体内容都是放在data中的,所以要先拿到第一层data中的内容,再对data进行解析。

到这一步就能在控制台看到解析到的具体内容了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/843273.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号