java - Android Studio 网络.httpResponse@4e0cae2

标签 java android json

我正在尝试在 Android Studio 中执行应用程序,当我尝试解析 JSON 对象时出现此错误。我的 JSON 对象在这里 https://api.myjson.com/bins/sk0rv

有人可以帮助我吗?

第一个 Activity 的代码

public class HttpConnection extends AsyncTask<String, Void, HttpResponse> {

    URL url;
    HttpURLConnection connection;


    @Override
    protected HttpResponse doInBackground(String... params) {

        try {
            url=new URL(params[0]);
            connection=(HttpURLConnection) url.openConnection();

            InputStream inputStream=connection.getInputStream();
            InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
            BufferedReader reader=new BufferedReader(inputStreamReader);
            String line=reader.readLine();
            reader.close();
            inputStreamReader.close();
            inputStream.close();
            connection.disconnect();
            return  getHttpResponseFromJson(line);


        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return null;
    }


    private HttpResponse getHttpResponseFromJson(String json) throws JSONException {
        if(json==null){
            return null;
        }
        JSONObject object=new JSONObject(json);
        ExtraInfo extraInfo=getExtraInfoFromJson(object.getJSONObject("ExtraInfo"));

        return new HttpResponse(extraInfo);
    }




    private ExtraInfo getExtraInfoFromJson(JSONObject object) throws JSONException {
        if(object==null)
        {
            return null;
        }

        ExtraInfo extraInfo=new ExtraInfo();
        extraInfo.setPretPromotie(object.getInt("pretPromotie"));
        extraInfo.setNumeFilatelist(object.getString("numeFilatelist"));

        JSONObject timbruInfo=object.getJSONObject("TimbruInfo");

        if(timbruInfo!=null)
        {
            TimbruInfo timbru=new TimbruInfo();

            timbru.setTara(timbruInfo.getString("taraOrigine"));
            timbru.setTematica(timbruInfo.getString("tematica"));
            timbru.setAnAparitie(timbruInfo.getInt("anAparitie"));
            timbru.setPret(timbruInfo.getInt("pret"));
           timbru.setTip(timbruInfo.getString("tip"));

        }
        return extraInfo;
    }

}

第二个 Activity 的代码

public class PromotiiActivity extends AbstractActivity{

    private static String URL="https://api.myjson.com/bins/sk0rv";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_promotii);



        HttpConnection connection= new HttpConnection(){
            @Override
            protected void onPostExecute(HttpResponse httpResponse) {
                super.onPostExecute(httpResponse);

                if(httpResponse!=null)
                {
                    Toast.makeText(getApplicationContext(), httpResponse.toString(), Toast.LENGTH_LONG).show();
                }
                else
                {
                    Toast.makeText(getApplicationContext(), "is Empty", Toast.LENGTH_LONG).show();
                }
            }
        };
        connection.execute(URL);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        MenuItem item = menu.findItem(R.id.app_menu_promotii);
        item.setVisible(false);
        return true;
    }
}

最佳答案

这是因为您打印了对对象的引用

Toast.makeText(getApplicationContext(), httpResponse.toString(), Toast.LENGTH_LONG).show();

你应该这样做

HttpEntity entity = httpResponse.getEntity();
String result = EntityUtils.toString(entity);
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();

关于java - Android Studio 网络.httpResponse@4e0cae2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47297126/

相关文章:

android - 销毁以前的 ViewPager 项目以防止向后滚动

json - 将 JSON 转换为 bash 环境变量

java - 通过 pubsubhub 实现类似聊天室的功能是个好主意吗

Java 使用 Math.ceil 将整数四舍五入

Java模式问题

java - 如何将 fragment 制作为应用程序启动 Activity

java - 使用 WatchService 的单元测试代码

android - 如何将阴影添加到线性布局 - android?

python - JSON: TypeError: Decimal ('34.3' ) 不是 JSON 可序列化的

c# - 当前几个 JSON 项具有非十进制值时,将动态 JSON 反序列化为 DataTable 会丢失小数