我試圖把json放入recyclerview,但它給了我「無法解析dara」錯誤!無法解析數據到recyclerview
這是我的JSON響應:
{ 「行動」: 「真」, 「錯誤」: 「」, 「數據」:[{ 「_ ID」: 「58ad8d8ca49d0e11e21c4504」, 「STORE_NAME」: 「firstStore」, 「store_view」:0, 「store_textposition」:空}]}
還有就是我得到的錯誤 「Shops_parser.java」:
public class Shops_Parser extends AsyncTask<Void,Void,Boolean> {
Context c;
String jsonData;
RecyclerView rv;
ProgressDialog pd;
ArrayList<String> shops = new ArrayList<>();
public Shops_Parser(Context c, String jsonData, RecyclerView rv) {
this.c = c;
this.jsonData = jsonData;
this.rv = rv;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pd=new ProgressDialog(c);
pd.setMessage("PARSING JSON");
pd.show();
}
@Override
protected Boolean doInBackground(Void... voids) {
return parse();
}
@Override
protected void onPostExecute(Boolean isParsed) {
super.onPostExecute(isParsed);
pd.dismiss();
if(isParsed)
{
ShopsAdapter adapter = new ShopsAdapter(c,shops);
rv.setAdapter(adapter);
}
else
{
Toast.makeText(c,"Unable to Parse data",Toast.LENGTH_SHORT).show();
}
}
private boolean parse()
{
try
{
JSONArray ja = new JSONArray(jsonData);
JSONObject jo;
shops.clear();
for(int i=0;i<ja.length();i++)
{
jo=ja.getJSONObject(i);
String store_name = jo.getString("store_name");
shops.add(store_name);
}
return true;
}
catch (JSONException e)
{
e.printStackTrace();
return false;
}
}
}
這有什麼錯它?
你**不需要**的的AsyncTask解析JSON字符串 –
你確實需要一個更大的對象@ cricket_007 – peter
@peter也許,但問題沒有一個 –