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&lt;Response&lt;JsonElement&gt;&gt;,它有类似的API。

我认为应该将您的 Json 反序列化为 JsonElement 对象

如果您只需要json字符串,也可以调用Response.body()Response.errorBody()

【讨论】:

谢谢罗伯特! @RobertEstivill

以上是关于jsonobject如何获取一个集合里的某个对象所有属性的值的主要内容,如果未能解决你的问题,请参考以下文章

如何读取C# object的值

Python 怎么获取json 里的特定的某个值

怎么获取js中object中的值

如何判断jsonobject是不是存在某个字段

我有一个json数组怎么获取某个字段的对应的对象

jsonobject怎么获取json中某个值