从Android中的Json数组解析Json

时间:2016-12-20 19:52:28

标签: java json parsing text-parsing

我有以下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)

1 个答案:

答案 0 :(得分:1)

您的JSON首先包含一个以“{”开头的Object,因此您的整个JSON字符串代表一个JSONObject。然后,在其中加入对象“ hforma ”,然后是 forma 的JSONArray,然后你可以迭代它们以获得每个 hcsapat vcsapat 属性为字符串。

这样的事情:

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结构的示例。