当我尝试从列表中对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
你能告诉我如何摆脱这个错误..
简单地说,在你的json中
{ "r$contentRatings": [ { "r$scheme": "urn:rt", "r$rating": "criticSummaryScore=-1,criticSummaryCount=0,criticSummaryCertified=false,criticSummaryRotten=false,fanSummaryScore=75,fanSummaryCount=4" } ] }
元素r$scheme
和r$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
在下一行中为自己设置了一个元素.