如何从这个json解析获取角色值?

时间:2018-02-13 06:49:22

标签: android gson retrofit2

这是json的回应。

{
  "roles": [
    "merchant"
  ]
}

我正在使用改装和gson。如何获得角色的价值?目前我收到此错误“java.lang.IllegalStateException:Expected BEGIN_OBJECT但是BEGIN_ARRAY”

2 个答案:

答案 0 :(得分:1)

你的pojo课应该是这样的。然后它会起作用

this.setBackground(Color.blue);

答案 1 :(得分:0)

如果您知道每次角色都是JsonArray,那么您可以直接在pojo类中使用Arraylist,但如果角色未知它是否会出现在JsonObject或JsonArray中,那么您必须在Pojo中将它用作JsonElement像:

private JsonElement roles;

public JsonElement getRoles (){
    return roles;
}

public void setRoles (JsonElement roles){
    this.roles = roles;
}

创建pojo后,您可以通过使用

检查jsonelement是否是Object或Array的实例来转换jsonelement
if(roles instanceof JsonObject)

然后相应地使用Gson进行转换。

快乐编码!!