如何将数据解析为ListView?

时间:2018-07-08 13:51:20

标签: android json

https://cdn.sportmonks.com/soccer/json/champions-league-20172018-standings.json

im打算从此JSON中获取数据,只有第一个活动的名称(A,B等)。 我以前曾经学习过如何从https://www.thecrazyprogrammer.com/example_data/fruits_array.json中提取数据,但是如何修改代码,以便可以提取特定数据,而不是像水果JSON示例中那样提取所有数据。

这是水果数组的代码

public class Matches extends AppCompatActivity {

ListView fruitsList;
String url = "https://www.thecrazyprogrammer.com/example_data/fruits_array.json";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_matches);

    fruitsList = (ListView)findViewById(R.id.fruitsList);

    StringRequest request = new StringRequest(url, new Response.Listener<String>() {
        @Override
        public void onResponse(String string) {
            parseJsonData(string);
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError volleyError) {
            Toast.makeText(getApplicationContext(), "Some error occurred!!", Toast.LENGTH_SHORT).show();
        }
    });

    RequestQueue rQueue = Volley.newRequestQueue(Matches.this);
    rQueue.add(request);
}

void parseJsonData(String jsonString) {
    try {
        JSONObject object = new JSONObject(jsonString);
        JSONArray fruitsArray = object.getJSONArray("fruits");
        ArrayList al = new ArrayList();

        for(int i = 0; i < fruitsArray.length(); ++i) {
            al.add(fruitsArray.getString(i));
        }

        ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, al);
        fruitsList.setAdapter(adapter);
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

}

0 个答案:

没有答案