Android获取不带名称的JSON数组
我从API中获得了以下JSON数据: Json数组和其中的许多Json对象 如何获得没有名称的json数组 这就是我所尝试的:Android获取不带名称的JSON数组,android,Android,我从API中获得了以下JSON数据: Json数组和其中的许多Json对象 如何获得没有名称的json数组 这就是我所尝试的: //Parsing the fetched Json String to JSON Object j = new JSONObject(response); result = j.getJSONArray(''); for(int i=0;i<j.length();i++){ try { //Getti
//Parsing the fetched Json String to JSON Object
j = new JSONObject(response);
result = j.getJSONArray('');
for(int i=0;i<j.length();i++){
try {
//Getting json object
JSONObject json = j.getJSONObject(i);
Log.d("tag", "NAME IS: " +json.getString("name"));
}
}
//将获取的Json字符串解析为Json对象
j=新的JSONObject(响应);
结果=j.getJSONArray(“”);
for(inti=0;iJSONArray有一个构造函数,它接受字符串源
JSONArray array = new JSONArray(yourJSONArrayAsString);
然后可以使用for循环获取每个对象
JSONArray array;
try {
array = new JSONArray(yourJSONArrayAsString);
for(int i=0;i<array.length();i++){
JSONObject obj = array.getJSONObject(i);
// get your data from jsonobject
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONArray数组;
试一试{
数组=新的JSONArray(yourJSONArrayAsString);
for(inti=0;iJSONArray有一个构造函数,它接受字符串源
JSONArray array = new JSONArray(yourJSONArrayAsString);
然后可以使用for循环获取每个对象
JSONArray array;
try {
array = new JSONArray(yourJSONArrayAsString);
for(int i=0;i<array.length();i++){
JSONObject obj = array.getJSONObject(i);
// get your data from jsonobject
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JSONArray数组;
试一试{
数组=新的JSONArray(yourJSONArrayAsString);
对于(inti=0;i创建包含json解析代码的JSONParser类
在MainActivity.java中提及
try
{
JSONParser jsonparser=new JSONParser();
JSONObject jsonObject=jsonparser.getJSONFromURL(URL);// URL is a String which contains url
Log.d("Response:",jsonObject.toString());
JSONArray jsonarray=new JSONArray(jsonObject.getString("YourFirstJSONArrayName"));//YourJSONArray contains the response array
for(int i=0;i<jsonarray.length();i++)
{
JSONObject c=jsonarray.getJSONObject(i);
// now get data from c object
}
// Now getting data from Second Array
JSONArray jsona=new JSONArray(jsonObject.getString("YourSecondJSONArrayName"));
for(int j=0;j<jsona.length();j++)
{
JSONObject c=jsona.getJSONObject(j);
// now get data from json data from second array
}
}
catch(Exception e)
{
e.printStackTrace();
}
JSONParser JSONParser=新的JSONParser();
JSONObject JSONObject=jsonparser.getJSONFromURL(URL)
现在创建单独的JSONParser类
class JSONParser
{
public static JSONObject jsonObject=null;
public static String json=null;
InputStream is=null;
public JSONObject getJSONFromURL(String url)
{
try
{
HttpClient client=new DefaultHttpClient();
HttpPost post=new HttpPost(url);
HttpResponse response=client.execute(post);
HttpEntity entity=response.getEntity();
is=entity.getContent();
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
BufferedReader br=new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuilder sb=-new StringBuilder();
String line=null;
while((br.readLine())!=null)
{
sb.append(line+"\n");
}
json=sb.toString();
is.close();
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
jsonObject=new JSONObject(json.subString(json.indexOf("{"),json.lastinddexOf("}")+1));
}
catch(Exception e)
{
e.printStackTrace();
}
return jsonObject;
}
现在在MainActivity.java中
try
{
JSONParser jsonparser=new JSONParser();
JSONObject jsonObject=jsonparser.getJSONFromURL(URL);// URL is a String which contains url
Log.d("Response:",jsonObject.toString());
JSONArray jsonarray=new JSONArray(jsonObject.getString("YourFirstJSONArrayName"));//YourJSONArray contains the response array
for(int i=0;i<jsonarray.length();i++)
{
JSONObject c=jsonarray.getJSONObject(i);
// now get data from c object
}
// Now getting data from Second Array
JSONArray jsona=new JSONArray(jsonObject.getString("YourSecondJSONArrayName"));
for(int j=0;j<jsona.length();j++)
{
JSONObject c=jsona.getJSONObject(j);
// now get data from json data from second array
}
}
catch(Exception e)
{
e.printStackTrace();
}
试试看
{
JSONParser JSONParser=新的JSONParser();
JSONObject JSONObject=jsonparser.getJSONFromURL(URL);//URL是包含URL的字符串
Log.d(“响应:,jsonObject.toString());
JSONArray JSONArray=newJSONARRAY(jsonObject.getString(“YourFirstJSONArrayName”);//YourJSONArray包含响应数组
对于(inti=0;i创建包含json解析代码的JSONParser类
在MainActivity.java中提及
try
{
JSONParser jsonparser=new JSONParser();
JSONObject jsonObject=jsonparser.getJSONFromURL(URL);// URL is a String which contains url
Log.d("Response:",jsonObject.toString());
JSONArray jsonarray=new JSONArray(jsonObject.getString("YourFirstJSONArrayName"));//YourJSONArray contains the response array
for(int i=0;i<jsonarray.length();i++)
{
JSONObject c=jsonarray.getJSONObject(i);
// now get data from c object
}
// Now getting data from Second Array
JSONArray jsona=new JSONArray(jsonObject.getString("YourSecondJSONArrayName"));
for(int j=0;j<jsona.length();j++)
{
JSONObject c=jsona.getJSONObject(j);
// now get data from json data from second array
}
}
catch(Exception e)
{
e.printStackTrace();
}
JSONParser JSONParser=新的JSONParser();
JSONObject JSONObject=jsonparser.getJSONFromURL(URL)
现在创建单独的JSONParser类
class JSONParser
{
public static JSONObject jsonObject=null;
public static String json=null;
InputStream is=null;
public JSONObject getJSONFromURL(String url)
{
try
{
HttpClient client=new DefaultHttpClient();
HttpPost post=new HttpPost(url);
HttpResponse response=client.execute(post);
HttpEntity entity=response.getEntity();
is=entity.getContent();
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
BufferedReader br=new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuilder sb=-new StringBuilder();
String line=null;
while((br.readLine())!=null)
{
sb.append(line+"\n");
}
json=sb.toString();
is.close();
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
jsonObject=new JSONObject(json.subString(json.indexOf("{"),json.lastinddexOf("}")+1));
}
catch(Exception e)
{
e.printStackTrace();
}
return jsonObject;
}
现在在MainActivity.java中
try
{
JSONParser jsonparser=new JSONParser();
JSONObject jsonObject=jsonparser.getJSONFromURL(URL);// URL is a String which contains url
Log.d("Response:",jsonObject.toString());
JSONArray jsonarray=new JSONArray(jsonObject.getString("YourFirstJSONArrayName"));//YourJSONArray contains the response array
for(int i=0;i<jsonarray.length();i++)
{
JSONObject c=jsonarray.getJSONObject(i);
// now get data from c object
}
// Now getting data from Second Array
JSONArray jsona=new JSONArray(jsonObject.getString("YourSecondJSONArrayName"));
for(int j=0;j<jsona.length();j++)
{
JSONObject c=jsona.getJSONObject(j);
// now get data from json data from second array
}
}
catch(Exception e)
{
e.printStackTrace();
}
试试看
{
JSONParser JSONParser=新的JSONParser();
JSONObject JSONObject=jsonparser.getJSONFromURL(URL);//URL是包含URL的字符串
Log.d(“响应:,jsonObject.toString());
JSONArray JSONArray=newJSONARRAY(jsonObject.getString(“YourFirstJSONArrayName”);//YourJSONArray包含响应数组
对于(int i=0;i我想我的响应是一个json对象。j=new JSONObject(response);
但是我的响应是一个json对象。j=new JSONObject(response);
尝试用替换”
,如果它不起作用,尝试用“
不起作用。如果我正在更改我的API并命名我的数组,并在其中键入“myArray”,它会起作用。没有名称-它不会起作用:s您的响应是否以该数组开始?我将我的API更改为输出“myArray”[…
因为一个空的数组不适用于Android,或者我不知道的方式。您没有回答我的问题,您的Json响应的根是否没有名称数组?如果是,只需遵循USKMobility答案,它将工作尝试用替换”
,如果不工作,尝试用”“
不起作用。如果我正在更改我的API并命名我的数组,并在其中键入“myArray”,它会起作用。没有名称-它不会起作用:s您的响应是否以该数组开始?我将我的API更改为输出”myArray[…
因为空数组不适用于Android,或者我不知道的方式。您没有回答我的问题,您的Json响应的根是否没有名称数组?如果是,只需按照USKMobility回答,它就会工作