如果JSON数组为空,则更改文本

时间:2018-09-02 09:36:34

标签: java android json

我的应用程序从服务器获取JSON数据,并将其存储在CardView中。所有数据均已正确处理,但是如果JSONArray为空时某些数据不可用。无论如何,应用程序都会获取它们并将“ null”写入TextView,而我想将其为空。我已经搜索了其他相关问题,并认为这是检查数组长度的最佳方法,但仍将{null“放在我的TextView中:

我得到的是

(null - null)

我想要拥有的东西:

( - )

这是所获取内容的结构:

[
 {
  "MatchResults": []
 }
]

我如何处理它:

JSONArray jArray = json.getJSONArray("MatchResults");

for(int j=0; j<jArray.length(); j++) {

    JSONObject json_data = jArray.getJSONObject(j);

         if(jArray != null && jArray.length() > 0){
             GetDataAdapter.setTore1(json_data.getString(TEAM1));
             GetDataAdapter.setTore2(json_data.getString(TEAM2));
         }
}

为了使setTore1setTore2方法保持TextView为空,我需要更改什么?

1 个答案:

答案 0 :(得分:1)

您提供的示例可能与所提供的输出不匹配,如注释中所述。无论如何,只需在构造阶段初始化属性即可完成您所描述的内容。

我不确定包含属性的对象,但是这些属性应该是tore1tore2。在迭代json并尝试设置它们之前,只需以这种方式将它们初始化为空字符串(""),而当您在json中找不到有效值时,您将根据需要使用空字符串。 / p>