JsonObject中的getJsonObject不能应用于int

时间:2017-09-25 11:08:16

标签: android

我在尝试从JSONObject中提取数据时遇到上述错误。我的目标是提取“transactionId”数据并将其存储在变量中以备将来使用。

到目前为止我所拥有的:

protected void onPostExecute(String result) {

        super.onPostExecute(result);
        if (pd.isShowing()) {
            pd.dismiss();
        }
       /*txtJson.setText(result);*/


        JSONObject jsonarray;
        try {
            jsonarray = new JSONObject(result);
            for (int i = 0; i < jsonarray.length(); i++) {
                JSONObject mJsonObject = jsonarray.getJSONObject(i);
                Log.d("OutPut", mJsonObject.getString("transactionId"));
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
}

我的JSON对象如下所示:

{  
 "merchantId":"X",
 "transactionId":"Y"
}

我是编程新手,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

试试此代码

https://www.linkedin.com/profile/view?id=AC...UQ4

此外,如果您的JSONArray中有单个ITEM,则可以删除forLoop。

并且,如果收到的响应是JSONObject,那么

 JSONArray jsonarray;
    try {
        jsonarray = new JSONArray(result);
        for (int i = 0; i < jsonarray.length(); i++) {
            JSONObject mJsonObject = jsonarray.optJSONObject(i);
            Log.d("OutPut", mJsonObject.optString("transactionId"));
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }