jsonをサーバーから取得してRecyclerViewに配置しようとしていますが、 "java.lang.String JSONObjectに変換できません "。私は私のjsonを追跡しようとしているが、何も表示されていない。何が間違っている、どうすればこれを解決することができますか?データの解析中にエラーが発生しました。org.json.JSONException:値が<html>で、java.lang.String型がJSONObjectに変換できません。
public class AsyncLoaderTask extends AsyncTask<Void, Void, Void> {
Context ctx;
`enter code here`ProgressDialog progressDialog;
private static final String TAG = "AsyncLoaderTask";
String json_url="http://stocksearchapi.com/api/
api_key=43c30be222eb8b48f8d562f23b00e189bc42b0e9&search_text=CSO";
public AsyncLoaderTask(Context ctx) {
this.ctx = ctx;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog= new ProgressDialog(ctx);
progressDialog.setIndeterminate(true);
progressDialog.setTitle("Please Wait..");
progressDialog.setMessage("Download in Progress");
progressDialog.setCancelable(false);
progressDialog.show();
}
@Override
protected Void doInBackground(Void... voids) {
try {
URL url = new URL(json_url);
HttpURLConnection httpURLConnection =(HttpURLConnection)url.openConnection();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line=bufferedReader.readLine())!=null){
stringBuilder.append(line+"\n");
Thread.sleep(500);
}
httpURLConnection.disconnect();
String json_data= stringBuilder.toString().trim();
JSONObject jsonObject= new JSONObject(json_data);
JSONArray jsonArray =jsonObject.getJSONArray("server_response");
DatabaseHandler databaseHandler=new DatabaseHandler(ctx);
SQLiteDatabase db= databaseHandler.getWritableDatabase();
int count =0;
while (count<jsonArray.length())
{
JSONObject JO=jsonArray.getJSONObject(count);
count++;
databaseHandler.putInformation(JO.getString("company_name"),JO.getString("company_symbol"),db);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
Log.e("log_tag", "Error parsing data "+e.toString());
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
progressDialog.dismiss();
}
を使用してJsonObjectをエンコード – Coder