Android获取不带名称的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

我从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 {
                //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回答,它就会工作