将JSON数组列表值保存到变量

时间:2018-06-20 04:16:56

标签: android arrays json retrofit

我已经能够获取JSON ArrayList并使用RecyclerView显示数据。

这是我使用RecyclerView显示JSON数组的方式:

public void onResponse(Call<List<Fame>> call, Response<List<Fame>> response) {

    List<Fame> fame = response.body();

    mFameList.addAll(fame);
    adapter.notifyDatasetChanged();
    progressDialog.dismiss();
    rv.setVisibility(View.VISIBLE);
    title_text.setVisibility(View.VISIBLE);
}

但是,对于一项活动,我只需要获取值并将它们存储到变量中即可。我正在考虑遍历列表,但不确定自己在做什么。将值存储到变量后,我将能够基于值显示图像。非常感谢您的帮助。

这是到目前为止我已经尝试过的方法,但这给了我一个nullpointer异常错误。如果JSON数组仅包含1个结果/项目,则此方法有效。

    progressDialog.dismiss();
    List<Profile> p = response.body();
    if(p!=null && p.size()>0){
    pid = p.get(0).getPid();
    fname =p.get(0).getFname();
    lname = p.get(0).getLname();
}

这是JSON的示例:

[
  {
    "Pid": "testID",
    "Fname": "testfname1",
    "Lname": "testlname1",
   },
  {
    "Pid": "testID",
    "Fname": "testfname2",
    "Lname": "testlname2",
   }
]

1 个答案:

答案 0 :(得分:0)

这就是我设法解决问题的方法:

List<Fame> fame = response.body();
for(Fame f: fame ){
   if(f.getfName.toString() == "testfname1"){
        //do something if condition is met
    }
    //repeat step for others
}

我不确定这是否是最好的方法,但目前满足我的要求。 :)