【问题标题】:Why I cannot use if or switch on jSONObject?为什么我不能使用 if 或打开 JSONObject?
【发布时间】:2018-05-02 11:55:09
【问题描述】:

我只有一个 AsyncTask,它使用监听器与主要活动通信。响应到达的位置,第一个 Toast 将以正确的值显示。问题是在 try catch 中我可以恢复这些值。所以 if 或 switch 不再起作用了。

@Override
public void OnAsyncTaskComplete(String response) {

    Toast.makeText(getContext(),((ActivityLogin) getActivity()).choiceButton+" result: "+response, Toast.LENGTH_LONG).show();

    try {

        JSONObject obj = new JSONObject(response);

        String objservice = obj.getString("service");
        String objstatuCode = obj.getString("status-code");
        String objdescription = obj.getString("status-description");

        JSONObject result = obj.getJSONObject("result");

        if(!objstatuCode.equals("200") || objstatuCode.equals(null)){
            Toast.makeText(getContext(), objstatuCode+"", Toast.LENGTH_SHORT).show();
            return;
        } else {
            Toast.makeText(getContext(), objstatuCode+"", Toast.LENGTH_SHORT).show();
            return;
        }

    } catch (JSONException e){
        e.printStackTrace();
    }
}

【问题讨论】:

  • 用问题分享你的 json 回复
  • 在这里分享回复
  • 首先像这样交换你的条件, if(objstatuCode.equals(null) || !objstatuCode.equals("200") ){} 并且你的状态码是整数使用 getInt
  • 不一样

标签: android if-statement android-asynctask switch-statement


【解决方案1】:

我假设,你得到了JSONException

为什么?

Thrown to indicate a problem with the JSON API

问题来自

 String objstatuCode = obj.getString("status-code");
 JSONObject result = obj.getJSONObject("result");

您的 JSON VALUE (KEY=status-code)int。你应该纠正它。

应该是

int objstatuCode = obj.getInt("status-code");
String result    = obj.getString("result");

然后

if(objstatuCode!=200){
                Toast.makeText(getContext(), objstatuCode+"", Toast.LENGTH_SHORT).show();
                return;
            } else {
                Toast.makeText(getContext(), objstatuCode+"", Toast.LENGTH_SHORT).show();
                return;
            }

【讨论】:

  • @GiorgioCafiso Clean-Rebuild 并让我通知。
  • 解决了这个问题。错误是我在相同的成就中进行了其他调用,结果是一个数组
  • @GiorgioCafiso 继续前进!
猜你喜欢
  • 2015-02-14
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 2014-04-25
  • 2012-08-08
  • 2021-09-01
  • 2011-01-16
  • 1970-01-01
相关资源
最近更新 更多