android - 获取具有非固定键的对象的属性

标签 android json gson retrofit2

假设我从 web 服务收到此 JSon 响应:

{
    "id":13,
    "name":"Alireza",
    "required_id":"14",
    "all_friends_id_and_name":{
        "28":"Hassan",
        "21":"Mohammad",
        "68":"Ali",
        "14":"Taha",
        "96":"Darya"
    }
}

在此响应中,required_id 值指定我需要 id 为 14 的好友姓名,因此在 all_friends_id_and_name 对象中,我应该获取值“14”(Taha) 和在我的应用程序中使用它。

我正在使用 Retrofit2 和 gson 库。

如何获取具有非固定键的对象的属性?

最佳答案

对于 native 方法,您可以尝试使用 Iterator .

An iterator is an object that enables a programmer to traverse a container, particularly lists.

 "all_friends_id_and_name":{
        "28":"Hassan",
        "21":"Mohammad",
        "68":"Ali",
        "14":"Taha",
        "96":"Darya"
    }

对于上述部分,您的逻辑将是

     JSONObject jsonData = new JSONObject("Json_response");
          Iterator  iteratorObj = jsonData .keys();
           while (iteratorObj.hasNext())
            {
                String str_json_Key = (String)iteratorObj.next();
                 // Print=28,21....96
             }

关于android - 获取具有非固定键的对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52252742/

相关文章:

java - 如何在appium中打开和访问导航侧抽屉?我在appium中使用java语言进行自动化

java - Android:将JSON对象值转换为指定类

android - 如何将 JSONObject 转换为类对象?

java - 异步任务 #1 发生在 doInBackground 方法中

java - 将json转换为对应的HashMap

android - 在现有的SDK上安装Android Studio

javascript - react native : Native modules return nothing

android多点触控, Action 指针向下无法正常工作

javascript - REST API,从 PHP 返回 JSON 对象到 JS 文件

Android - 尝试实现 Google Places API