繁体   English   中英

从JSON格式解析数据时遇到麻烦

[英]trouble with parse data from JSON format

我有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
                }
            }
        }
    }
}

为了解析,我编写了下一个代码。 但这是行不通的。

    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");

我试图让global_rating,战争的价值,但是这个代码抛出异常

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

在最后一行,但我不明白为什么。 我做错了什么? 有人可以提示我吗?

谢谢。

global_rating看起来像一个int,不是吗? 尝试这个:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM