2017-12-03 1 views
0

JSON 형식의 데이터가 있습니다. 예를 들면 다음과 같습니다.JSON 형식의 데이터를 구문 분석하는 데 문제가 있습니다.

{ 
    "status": "ok", 
    "meta": { 
     "count": 1 
    }, 
    "data": { 
     "531446": { 
      "global_rating": 6595, 
      "statistics": { 
       "random": { 
        "spotted": 14379, 
        "xp": 9087316, 
        "draws": 238, 
        "battles": 15034, 
        "wins": 7614, 
        "avg_damage_assisted_track": 42.94 
       } 
      } 
     } 
    } 
} 

구문 분석을 위해 다음 코드를 작성했습니다. 그러나 그것은 효과가 없습니다. 내가 및 전투을 global_rating 의 값을 얻으려고하지만,이 코드는 마지막 줄에 예외

Exception in thread "main" java.lang.ClassCastException: 
    org.glassfish.json.JsonNumberImpl$JsonIntNumber cannot be cast to 
    javax.json.JsonString 

가 발생합니다,하지만 난 왜 이해가 안

JsonReader jsonReader = Json.createReader(new FileInputStream("F:\\Test.json")); 
    JsonObject jsonObject = jsonReader.readObject(); 
    jsonReader.close(); 

    int acc_id = 531446; 

    JsonObject dataJson = jsonObject.getJsonObject("data"); 
    System.out.println("data:" + dataJson); 
    JsonObject accountIdJson = dataJson.getJsonObject(String.valueOf(acc_id)); 

    System.out.println(" accountIdJson:"+accountIdJson); 
    String globalRatingJson = accountIdJson.getString("global_rating"); 

. 내가 뭘 잘못 했니? 누군가 나에게 암시 할 수 있습니까?

xx.

답변

0

global_rating은 int가 아닌가? 시도해보십시오.

int global_rating = accountIdJson.getInt("global_rating"); 
+0

감사합니다. 나는 하드 체크 데이터 타입이 있다는 것을 몰랐다. –

관련 문제