Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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
JSON.typesmatch(JSON.java:112)与url JSON文件不匹配_Java_Android_Json - Fatal编程技术网

JSON.typesmatch(JSON.java:112)与url JSON文件不匹配

JSON.typesmatch(JSON.java:112)与url JSON文件不匹配,java,android,json,Java,Android,Json,这是我的方法调用 if(guest){ new JsonTask().execute("URL"); }else{ new AsyncTaskGetMareker().execute(); } 这是我的方法: private class JsonTask extends AsyncTask<String, String, String> { protected void onPreExecute() { super.onPr

这是我的方法调用

if(guest){
    new JsonTask().execute("URL");
}else{
    new AsyncTaskGetMareker().execute();
}
这是我的方法:

private class JsonTask extends AsyncTask<String, String, String> {

        protected void onPreExecute() {
            super.onPreExecute();
        }

        protected String doInBackground(String... params) {


            HttpURLConnection connection = null;
            BufferedReader reader = null;

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


                InputStream stream = connection.getInputStream();

                reader = new BufferedReader(new InputStreamReader(stream));

                StringBuffer buffer = new StringBuffer();
                String line = "";

                while ((line = reader.readLine()) != null) {
                    buffer.append(line+"\n");
                    Log.d("Response: ", "> " + line);   //here u ll get whole response...... :-)

                }
                return buffer.toString();


            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (connection != null) {
                    connection.disconnect();
                }
                try {
                    if (reader != null) {
                        reader.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return null;
        }

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            if (result !=null){

                for (int i =0; i <result.length(); i++){
                    JSONObject jsonObject= null;
                    try {
                        JSONObject json = new JSONObject(result);
                        JSONObject jsonResponse = json.getJSONObject("response");
                        String name = jsonResponse.getString("store_name");
                        String lat = jsonResponse.getString("latitude");
                        String lang=jsonResponse.getString("longitude");
                        });
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
我在这个网站上找到了这段代码,并试图在我的项目中实现它。 我确保在检查时加载了本地或外部文件。
我在代码中犯了什么错误?请帮助我…我不太懂英语,请理解并原谅我

帮助我的答案:

@覆盖
受保护的void onPostExecute(字符串结果){
super.onPostExecute(结果);
如果(结果!=null){
JSONArray JSONArray=null;
试一试{
jsonarray=新jsonarray(结果);
for(int i=0;i
第112行是哪一行?onPostExecute()中的一个?我不太了解这些类,但我想问题是,你的JSON结果实际上是一个数组,而不是一个对象,但你试图将它解析为一个JSONObject。据我所知,你通过URL得到的结果是JSON数组而不是JSONObject@mrgrechkinn很可能,我不知道如何修复它。@UrbanSide您可以提供:一个来自URL的完整JSON响应;并与我们分享您的修改代码。
org.json.JSONException: Value [{"id":1,"store":"дом","category_id":11,"latitude":
2020-02-10 14:24:01.689 13767-13767/? W/System.err:     at org.json.JSON.typeMismatch(JSON.java:112)
 @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);

            if (result !=null){
                JSONArray jsonarray = null;
                try {
                    jsonarray = new JSONArray(result);
                    for (int i = 0; i < jsonarray.length(); i++) {
                        JSONObject jsonObject= null;
                        try {
                            JSONObject obj = jsonarray.getJSONObject(i);
                            String name = obj.getString("store_name");
                            String lat = obj.getString("latitude");
                            String lang=obj.getString("longitude");
                            String desc=obj.getString("store_desc");
                            String oxr=obj.getString("telephone");
                            String sost=obj.getString("keywords");
                            int cat=obj.getInt("category_id");
                            int id=obj.getInt("id");
                            Log.e("100rad",""+i);
    } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }