从 Android 中的 Json 数组解析 Json

Parse Json from Json array in Android

我有以下 JSON,我想解析所有 "vcsapat" 和 "hcsapat" 以及第一行中的所有数据。

Json 在这里:Link

我尝试了以下代码,但只有例外情况

JSONArray JSonAdatok = null;
JSonAdatok = jObject.getJSONArray("vcsapat");

for (int i = 0; i < JSonAdatok.length(); i++) {
    JSONObject jo = null;
    try {
        jo = JSonAdatok.getJSONObject(i);
        System.out.print("\n"+jo);
        JSONObject kezdojatekosok = jo.getJSONObject("kezdo");
        System.out.print("\n"+kezdojatekosok);
        for (int j = 0; j < kezdojatekosok.length(); j++) {
            JSONObject egyjjson = kezdojatekosok;

异常如下:

at org.json.JSON.typeMismatch(JSON.java:100)
org.json.JSONObject.getJSONArray(JSONObject.java:588)

您的 JSON 首先包含一个以“{”开头的对象,因此您的整个 JSON 字符串代表一个 JSON 对象。然后,在其中获取对象“hforma”,然后是 forma 的 JSONArray,然后您可以对它们进行迭代以获取每个 hcsapatvcsapat 属性作为字符串。

像这样:

JSONObject complete = new JSONObject(WHOLE_JSON_AS_STRING);
JSONObject hforma = complete.getJSONObject("hforma");
JSONArray forma = hforma.getJSONArray("forma");

for (int i = 0; i < forma.length(); i++) {
   JSONObject formaData = forma.getJSONObject(i);
   String hcsapat = formaData.getString("hcsapat");
   String vcsapat = formaData.getString("vcsapat");
}

我没有测试该代码,它只是一个遵循您的 JSON 结构的示例。