我有以下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)
答案 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结构的示例。