java.lang.NoSuchMethodError:org.json.JSONArray android错误
在我的应用程序中,我尝试通过JSON解析数据,并尝试在android的listview中显示。但是我在解析数据时遇到java.lang.NoSuchMethodError:org.json.JSONArray android错误,java,android,json,eclipse,Java,Android,Json,Eclipse,在我的应用程序中,我尝试通过JSON解析数据,并尝试在android的listview中显示。但是我在解析数据时遇到java.lang.NoSuchMethodError:org.json.JSONArray错误。这是我用来解析数据的链接 为此,我使用了以下代码: private void connect() { String data; JSONArray json; try { DefaultHttpClien
java.lang.NoSuchMethodError:org.json.JSONArray
错误。这是我用来解析数据的链接
为此,我使用了以下代码:
private void connect()
{
String data;
JSONArray json;
try
{
DefaultHttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://demo.tugain.com/tapme/RetriveAll.php?q=cat");
HttpResponse response = client.execute(request);
HttpEntity entity=response.getEntity();
data=EntityUtils.toString(entity);
Log.e("STRING", data);
try
{
JSONObject obj=null;
json=new JSONArray(data);
JSONArray actualJson=json.getJSONArray(0);
for(int i=0;i<actualJson.length();i++)
{
obj=actualJson.getJSONObject(i);
name=obj.getString("name");
Log.e("name",name);
mAdapter.addSectionHeaderItem(name);
setListAdapter(mAdapter);
//JSONArray json1=new JSONArray("data");
JSONArray json1=new JSONArray(obj.getJSONArray("data"));
for(int j=0;j< json1.length();j++)
{
JSONObject obj1=null;
obj1 = json1.getJSONObject(j);
CompName= obj1.getString("vendor_name");
CompID=obj1.getString("vendor_id");
Log.e("vender",CompName);
Log.e("id",CompID);
}
}
}
catch (JSONException e)
{
e.printStackTrace();
}
} catch (ClientProtocolException e) {
Log.d("HTTPCLIENT", e.getLocalizedMessage());
} catch (IOException e) {
Log.d("HTTPCLIENT", e.getLocalizedMessage());
}
}
请尝试此代码
try
{
String data ="YOUR JSON ARRAY RESULT";
JSONObject obj=null;
JSONArray jsonArr =new JSONArray(data).getJSONArray(0);
for(int i=0;i<jsonArr.length();i++)
{
String name=jsonArr.getJSONObject(i).getString("name");
Log.e("name",name);
//mAdapter.addSectionHeaderItem(name);
//setListAdapter(mAdapter);
JSONArray dataArray =new JSONArray();
dataArray = jsonArr.getJSONObject(i).getJSONArray("data");
for(int j=0;j<dataArray.length();j++)
{
JSONObject dataObject = new JSONObject();
dataObject = dataArray.getJSONObject(j);
String CompName= dataObject.getString("vendor_name");
String CompID= dataObject.getString("vendor_id");
Log.e("vender",CompName);
Log.e("id",CompID);
}
}
}
catch (JSONException e)
{
e.printStackTrace();
}
试试看
{
String data=“您的JSON数组结果”;
JSONObject对象j=null;
JSONArray jsonArr=新的JSONArray(数据).getJSONArray(0);
对于(int i=0;i试试这个,我已经对连接方法做了一些更改
private void connect() {
String data;
JSONArray json;
try {
DefaultHttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(
"http://demo.tugain.com/tapme/RetriveAll.php?q=cat");
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
data = EntityUtils.toString(entity);
Log.e("STRING", data);
try {
JSONObject obj = null;
json = new JSONArray(data);
JSONArray actualJson = json.getJSONArray(0);
for (int i = 0; i < actualJson.length(); i++) {
obj = actualJson.getJSONObject(i);
String name = obj.getString("name");
Log.e("STRING", name);
// mAdapter.addSectionHeaderItem(name);
// setListAdapter(mAdapter);
// JSONArray json1=new JSONArray("data");
JSONArray json1 =obj.getJSONArray("data");
for (int j = 0; j < json1.length(); j++) {
JSONObject obj1= json1.getJSONObject(j);
String CompName= obj1.getString("vendor_name");
Log.e("STRING", CompName);
// CompID=obj1.getString("vendor_id");
// Log.e("vender",CompName);
// Log.e("id",CompID);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
} catch (ClientProtocolException e) {
Log.d("HTTPCLIENT", e.getLocalizedMessage());
} catch (IOException e) {
Log.d("HTTPCLIENT", e.getLocalizedMessage());
}
}
private void connect(){
字符串数据;
JSONArray-json;
试一试{
DefaultHttpClient=新的DefaultHttpClient();
HttpGet请求=新HttpGet(
"http://demo.tugain.com/tapme/RetriveAll.php?q=cat");
HttpResponse response=client.execute(请求);
HttpEntity=response.getEntity();
数据=EntityUtils.toString(实体);
Log.e(“字符串”,数据);
试一试{
JSONObject对象j=null;
json=新的JSONArray(数据);
JSONArray actualJson=json.getJSONArray(0);
for(int i=0;i
您是否尝试过使用JSONArray json1=obj.getJSONArray(“数据”);
是…但没有得到输出…!!!:(尝试我发布的代码您的json启动数组->数组->obj,而不是数组->obj。为什么不需要数组?
try
{
String data ="YOUR JSON ARRAY RESULT";
JSONObject obj=null;
JSONArray jsonArr =new JSONArray(data).getJSONArray(0);
for(int i=0;i<jsonArr.length();i++)
{
String name=jsonArr.getJSONObject(i).getString("name");
Log.e("name",name);
//mAdapter.addSectionHeaderItem(name);
//setListAdapter(mAdapter);
JSONArray dataArray =new JSONArray();
dataArray = jsonArr.getJSONObject(i).getJSONArray("data");
for(int j=0;j<dataArray.length();j++)
{
JSONObject dataObject = new JSONObject();
dataObject = dataArray.getJSONObject(j);
String CompName= dataObject.getString("vendor_name");
String CompID= dataObject.getString("vendor_id");
Log.e("vender",CompName);
Log.e("id",CompID);
}
}
}
catch (JSONException e)
{
e.printStackTrace();
}
private void connect() {
String data;
JSONArray json;
try {
DefaultHttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(
"http://demo.tugain.com/tapme/RetriveAll.php?q=cat");
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
data = EntityUtils.toString(entity);
Log.e("STRING", data);
try {
JSONObject obj = null;
json = new JSONArray(data);
JSONArray actualJson = json.getJSONArray(0);
for (int i = 0; i < actualJson.length(); i++) {
obj = actualJson.getJSONObject(i);
String name = obj.getString("name");
Log.e("STRING", name);
// mAdapter.addSectionHeaderItem(name);
// setListAdapter(mAdapter);
// JSONArray json1=new JSONArray("data");
JSONArray json1 =obj.getJSONArray("data");
for (int j = 0; j < json1.length(); j++) {
JSONObject obj1= json1.getJSONObject(j);
String CompName= obj1.getString("vendor_name");
Log.e("STRING", CompName);
// CompID=obj1.getString("vendor_id");
// Log.e("vender",CompName);
// Log.e("id",CompID);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
} catch (ClientProtocolException e) {
Log.d("HTTPCLIENT", e.getLocalizedMessage());
} catch (IOException e) {
Log.d("HTTPCLIENT", e.getLocalizedMessage());
}
}