android - 如何从 Android 上的改造响应中获取嵌套的 JSON 对象和数组?
问题描述
我想要做的是使用改造从 Web 响应中获取嵌套的 JSON 对象和数组
回应是:
{
"user": [
{
"name": "Kaleigh Stamm",
"post": {
"id": 1234,
"link": [
"https://www.link1.com"
"https://www.link2.com"
"https://www.link3.com"
]
}
}
}
我可以毫无问题地获得名称,但是我无法解析帖子对象,也无法解析可能为空或有多个链接的链接数组。我现在需要实现一些帖子类,但不知道该怎么做
我有一个用户类
class user {
@SerializedName("name")
var name = ""
}
我有一个界面
interface userService {
@GET("baseurlinfo")
fun getUserList() : Call<userResponse>
}
这是我的主要
var BaseUrl = "https://baseURL.com/"
val retrofit = Retrofit.Builder()
.baseUrl(BaseUrl)
.addConverterFactory(GsonConverterFactory.create())
.build()
val service = retrofit.create(userService::class.java)
val call = service.getUserList()
call.enqueue(object : Callback<userResponse> {
override fun onResponse(call: Call<userResponse>, response: Response<userResponse>) {
if (response.code() == 200) {
val userResponse = response.body()!!
for( user in userResponse.user){
Log.v("MainActivity", user.name)
}
}
}
override fun onFailure(call: Call<userResponse>, t: Throwable) {
Log.v("MainActivity", t.toString())
}
})
任何关于如何处理 JSON 响应的其余部分的帮助或建议都会很棒,谢谢。
解决方案
您的用户类不完整。首先在此站点中添加以下 JSON(json 到 pojo)。然后获取java类,然后将其粘贴到android studio中。然后 android studio 会自动将其转换为 kotlin 类。然后只需从创建的用户类中获取您的链接。此外,您的 JSON 格式格式不正确,应如下所示:
{
"user": [
{
"name": "Kaleigh Stamm",
"post": {
"id": 1234,
"link": [
"https://www.link1.com",
"https://www.link2.com",
"https://www.link3.com"
]
}
}
]
}
推荐阅读
- video - 将原始 264 文件转换为 mp4 没有声音
- javascript - React Native:组件重新渲染但道具没有改变
- angularjs - Loopback AngularJS SDK - 查询相关模型
- c# - 如何从 Android TouchScreenKeyboard (Unity, C#) 获取“Return”键
- java - 我的函数在java中工作,但是当我把它放在我的javafx控制器中时,函数只给出一个错误的布尔输出
- refresh - Libreoffice 计算单元格刷新
- go - 如何将结构的多个非空值传递给golang中的hmset?
- javascript - style.display="none" 在 else{} 中有效,但在 if{} 中无效
- javascript - 长数组组类别中的 Highchart
- javascript - Promise.all 在带有 FP 承诺的对象数组上