获取异常:org.json.JSONObject无法转换为JSONArray

时间:2016-07-25 10:34:22

标签: android json android-asynctask

我是一名机器人初学者,请为此做一些必要的帮助。

try {
 JSONArray jArray = new JSONArray(result);
 // Extract data from json and store into ArrayList as class objects
 for (int i = 0; i < jArray.length(); i++) {
  JSONObject json_data = jArray.getJSONObject(i);
  DataFish fishData = new DataFish();
  fishData.nonce = json_data.getString("nonce");
  fishData.iUserId = json_data.getString("iUserId");
  fishData.timestamp = json_data.getString("timestamp");
  fishData.token = json_data.getString("token");

  data.add(fishData);
 }

 // Setup and Handover data to recyclerview
 mRVFishPrice = (RecyclerView) findViewById(R.id.fishPriceList);
 mAdapter = new AdapterFish(PostActivity.this, data);
 mRVFishPrice.setAdapter(mAdapter);
 mRVFishPrice.setLayoutManager(new LinearLayoutManager(PostActivity.this));

} 
catch (JSONException e) {
 Toast.makeText(PostActivity.this, e.toString(), Toast.LENGTH_LONG).show();
}

我已经将它转换为JSONArray仍然是我

  

org.json.JSONException:Value {&#34; code&#34;:&#34; 0&#34;,&#34; message&#34;:&#34; Access denied,   org.json.JSONObject类型的无效用户引用&#34;}不能   转换为JSONArray。

2 个答案:

答案 0 :(得分:0)

试试吧。

catch

}

并将alldata发送到服务器。

希望这会对你有所帮助......让我知道..

用于发送到服务器

JSONArray alldata = new JSONArray();

for(your codition to get data for how many array items in loop){
JSONObject all = new JSONObject(); 
all.put("nonce", "G9Ivek");
all.put("iUserId", "477");
all.put("timestamp","20160614060439");
alldata.put(all);

在ASYNC TASK DOINBACKGROUND()

中使用api url绑定日期
JSONObject objMainList = new JSONObject();
objMainList.put("ALLDETAILS", alldata);

答案 1 :(得分:0)

这不是JSONArray对象。它是一个JSONObject,您无法将其解析为JSONArray。有关更多参考,请查看it here