jsonobject如何获取一个集合里的某个对象所有属性的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsonobject如何获取一个集合里的某个对象所有属性的值相关的知识,希望对你有一定的参考价值。
参考技术A 集合就需要循环遍历,而且是嵌套循环遍历for(vai i in jsonobject)
for(vai j in jsonobject[i])
for(vai k in jsonobject[i][j]) //以此类推,直到找到为止
var obj = jsonobject[i][j][k].attrs
当然:如果你知道obj的具体位置,也可以直接读取 var obj = jsonobject[0][1][0]
从 retrofit2 响应中获取 JSONObject
【中文标题】从 retrofit2 响应中获取 JSONObject【英文标题】:Get JSONObject from retrofit2 response 【发布时间】:2017-10-13 23:00:48 【问题描述】:如何从响应对象中获取retrofit2未知的JSON对象,如这个请求(使用OkHttp3):
Observable<Response<MyResponseObject>> apiCall(@Body body);
MyResponseObject 如下所示:
public class MyResponseObject
@SerializedName("title")
public String title;
@SerializedName("info")
public JSONObject info;
@SerializedName("question_id")
public String questionId;
我想得到
JSON 对象信息
像一个普通的对象。
【问题讨论】:
【参考方案1】:您需要创建另一个类(信息):
public static class Info
@SerializedName("description")
public String mDescription;
@SerializedName("preview_image")
public String mPreviewImage;
在 MyResponseObject 中:
@SerializedName("info")
public Info info;
【讨论】:
但我不知道 JSONObject 长什么样子【参考方案2】:我不知道JSONObject
,但你可以试试Observable<Response<JsonElement>>
,它有类似的API。
我认为应该将您的 Json 反序列化为 JsonElement
对象
如果您只需要json字符串,也可以调用Response.body()
或Response.errorBody()
。
【讨论】:
谢谢罗伯特! @RobertEstivill以上是关于jsonobject如何获取一个集合里的某个对象所有属性的值的主要内容,如果未能解决你的问题,请参考以下文章