2015-10-03 2 views
0

У меня есть teams.json файл с следующим содержаниемJSONArray ПолучитьЗначение

{ 
"league": "Champions League", 
"season": "2015/16", 
"start": "2015-11-01", 
"end": "2016-03-31", 
"teams": [ 
    { "name": "Spain" }, 
    { "name": "Germany"}, 
    { "name": "Italy" }, 
    { "name": "Brasil" }, 
    { "name": "Argentina" } 
] 

}

и у меня есть JSONArray, который работает отлично

JSONObject jsonObject = (JSONObject) obj; 
    JSONArray teamList = (JSONArray) jsonObject.get("teams"); 
    Iterator<JSONArray> iterator = teamList.iterator(); 
     while (iterator.hasNext()) { 
      System.out.println(iterator.next()); 
     } 

Выход:

{"name":"Spain"} 
{"name":"Germany"} 
{"name":"Italy"} 
{"name":"Brasil"} 
{"name":"Argentina"} 

Но я закон т хотите значения в массиве без { "имя": ... вещи, как

Испания, Германия, Италия, Бразилия, Аргентина

+0

https://github.com/mohit008/Android-Json-Example – Mohit

ответ

0

Вы можете сделать это:

package foo.bar; 

import org.json.JSONArray; 
import org.json.JSONObject; 

public class JSON { 

    public static void main(String[] args) { 

     String str = "{\r\n\"league\": \"Champions League\",\r\n\"season\": \"2015/16\",\r\n\"start\": \"2015-11-01\",\r\n\"end\": \"2016-03-31\",\r\n\"teams\": [ \r\n { \"name\": \"Spain\" },\r\n { \"name\": \"Germany\"},\r\n { \"name\": \"Italy\" },\r\n { \"name\": \"Brasil\" },\r\n { \"name\": \"Argentina\" }\r\n]}"; 
     JSONObject jsonObject = new JSONObject(str); 
     JSONArray teamList = (JSONArray) jsonObject.get("teams"); 
     for (Object o : teamList) { 
      JSONObject team = (JSONObject) o; 
      System.out.println(team.getString("name")); 
     } 
    } 
} 
+0

да спасибо это был правильный ответ: D спасибо – JahShaka

0

Надеюсь, это поможет вам!

JSONArray teams=new JSONObject(jsondata).getJSONArray("teams"); 
    for(int i=0;i<teams.length();i++){ 
    JSONObject team=teams.getJSONObject(i); 
    System.out.println("value of name=="+team.getString("name")); 


} 
0

Просто создайте вспомогательный метод для получения массива.

package com.example.helloworld; 

import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

import java.util.ArrayList; 
import java.util.List; 

public class MyTest { 
    public static void main(String[] args) throws JSONException { 
     String str = "{'league': 'Champions League','season': '2015/16','start': '2015-11-01','end': '2016-03-31','teams': [ \r\n { 'name': 'Spain' },\r\n { 'name': 'Germany'},\r\n { 'name': 'Italy' },\r\n { 'name': 'Brasil' },\r\n { 'name': 'Argentina' }\r\n]}"; 

     System.out.println(getCountyList(str).toString()); 
    } 

    public static List<String> getCountyList(String json) throws JSONException { 
     List<String> list = new ArrayList<String>(); 

     JSONObject jsonObject = new JSONObject(json); 
     JSONArray teamList = (JSONArray) jsonObject.get("teams"); 
     for (int i = 0, len = teamList.length(); i < len; i++) { 
      JSONObject team = (JSONObject) teamList.get(i); 
      list.add((String) team.get("name")); 
     } 
     return list; 
    } 
} 
Смежные вопросы