gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 17:20:17 47 4
gpt4 key购买 nike

当我尝试从列表中解析 json 对象时,出现错误 com.google.gson.JsonPrimitive cannot be cast to 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 cannot be cast to com.google.gson.JsonObject



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

最佳答案

简单地说,在你的 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 设置自己在下一行。

关于exception - com.google.gson.JsonPrimitive 无法转换为 com.google.gson.JsonObject 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20777884/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com