Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从节点JSAPI获取json数据_Android_Node.js - Fatal编程技术网

Android 从节点JSAPI获取json数据

Android 从节点JSAPI获取json数据,android,node.js,Android,Node.js,我用nodejs和mongodb创建了一个API,在这里我可以获取和设置数据,但是我的json数组没有名称。我想把这些数据放到我的android应用程序中,我在网上找到了这个解决方案,但它从一个名为“hits”的json数组中获取数据,有没有办法调整代码以适应数据库的格式,或者我可以在json数组中添加一个名称以便使用相同的解决方案 我找到的解决办法 String url = "https://api.myjson.com/bins/12qqdf"; JsonObjec

我用nodejs和mongodb创建了一个API,在这里我可以获取和设置数据,但是我的json数组没有名称。我想把这些数据放到我的android应用程序中,我在网上找到了这个解决方案,但它从一个名为“hits”的json数组中获取数据,有没有办法调整代码以适应数据库的格式,或者我可以在json数组中添加一个名称以便使用相同的解决方案

我找到的解决办法

        String url = "https://api.myjson.com/bins/12qqdf";

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    try {
                        JSONArray jsonArray = response.getJSONArray("hits");

                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject hit = jsonArray.getJSONObject(i);

                            String address = hit.getString("address");
                            String longi = hit.getString("longitude");
                            String lat = hit.getString("latitude");

                            mExampleList.add(new ExampleItem(address, longi, lat));
                        }

                        mExampleAdapter = new ExampleAdapter(MainActivity.this, mExampleList);
                        mRecyclerView.setAdapter(mExampleAdapter);

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            error.printStackTrace();
        }
    });

    mRequestQueue.add(request);
}

根据您的JSON将onResponse(JSONObject response)更改为
onResponse(JSONArray-JSONArray)

最后删除下面的行。应该行得通

JSONArray jsonArray = response.getJSONArray("hits");

根据您的JSON将onResponse(JSONObject response)更改为
onResponse(JSONArray-JSONArray)

最后删除下面的行。应该行得通

JSONArray jsonArray = response.getJSONArray("hits");