com.google.gson.JsonPrimitive无法转换为com.google.gson.JsonObject错误

 RvJ手机用户2997047695f 发布于 2023-02-08 10:28

当我尝试从列表中对json对象进行parjse时,我收到错误com.google.gson.JsonPrimitive无法强制转换为com.google.gson.JsonObject

输入:

{
    "r$contentRatings": [
        {
            "r$scheme": "urn:rt",
            "r$rating": "criticSummaryScore=-1,criticSummaryCount=0,criticSummaryCertified=false,criticSummaryRotten=false,fanSummaryScore=75,fanSummaryCount=4"
        }
    ]
}

码:

JsonElement elem = null;
elem = jsonObject.get("r$contentRatings");

if(elem != null) {
    JsonArray contentRatingsList = elem.getAsJsonArray();
    if(contentRatingsList != null) {                                                                                                    
        for(int i=0; i< contentRatingsList.size(); i++) {
            JsonObject scheme =contentRatingsList.get(i).getAsJsonObject().getAsJsonObject("r$scheme");
            JsonObject rating =contentRatingsList.get(i).getAsJsonObject().getAsJsonObject("r$rating");
            JsonArray subRatings = contentRatingsList.get(i).getAsJsonObject().getAsJsonObject("r$subRatings").getAsJsonArray();

错误:

在for循环中,当我尝试jsonobject从列表中访问时,r$scheme我收到一个错误

com.google.gson.JsonPrimitive无法强制转换为com.google.gson.JsonObject

你能告诉我如何摆脱这个错误..

1 个回答
  • 简单地说,在你的json中

    {
        "r$contentRatings": [
            {
                "r$scheme": "urn:rt",
                "r$rating": "criticSummaryScore=-1,criticSummaryCount=0,criticSummaryCertified=false,criticSummaryRotten=false,fanSummaryScore=75,fanSummaryCount=4"
            }
        ]
    }
    

    元素r$schemer$rating不JSON对象,但JSON元.

    使用

    JsonPrimitive scheme = contentRatingsList.get(i).getAsJsonObject().getAsJsonPrimitive("r$scheme");
    JsonPrimitive rating = contentRatingsList.get(i).getAsJsonObject().getAsJsonPrimitive("r$rating");
    

    另外,请注意,您r$subRatings的json中没有命名元素,因此您NullPointerException在下一行中为自己设置了一个元素.

    2023-02-08 10:31 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有