我想從服務器獲取json並將其放入我的RecyclerView,但它的名稱爲「java.lang.String不能轉換爲JSONObject「。我試圖追蹤我的JSON,但沒有顯示任何內容。怎麼了,我怎麼解決這個問題?解析數據時出錯org.json.JSONException:值java.lang.String類型的<html>無法轉換爲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();
}
什麼是你的'json_data'的內容進行編碼一個JSONObject? – Coder