Android 从Gson中的动态键获取值

Android 从Gson中的动态键获取值,android,Android,我有一个注册Api,它有一个error对象,它在数组中动态显示错误 这是Api的JsonFormat: { "status_code": 422, "status": "error", "data": { "errors": { "password": [ "The password must be between 8 and 15 characters." ],

我有一个注册Api,它有一个error对象,它在数组中动态显示错误

这是Api的JsonFormat:

    {
    "status_code": 422,
    "status": "error",
    "data": {
        "errors": {
            "password": [
                "The password must be between 8 and 15 characters."
            ],
            "mobile_no": [
                "The mobile number has already been taken."
            ]
        }
    }
}
在这里,如果用户忘记写入用户名,那么它将显示错误的用户名数组。所以它是动态变化的。 我的问题是如何在gson中设置此类错误。我正在使用改型来调用Api。 我在数据类中这样做了,但它显示了错误

 @SerializedName("errors")
@Expose
JsonObject errorObject;

Iterator iterator=new Iterator() {
    @Override
    public boolean hasNext() {
        Iterator keys=errorObject.keys();
        if(keys.hasNext()){

        }
    }

    @Override
    public Object next() {
        return null;
    }
}
请帮助我如何使用gson获取错误。谢谢您可以使用Map这样维护数据结构:

Type type = new TypeToken<Map<String, String>>(){}.getType();
Map<String, String> myMap = gson.fromJson(yourErrorsArrayHere, type);

然后只需使用myMap.getyour_error_键即可获得特定错误。

在响应模型中准备所有错误状态,然后在基于状态的代码中执行不同的操作。我也这样认为,但这是一个非常漫长的过程。如果他们添加任何新错误,我还需要添加该错误状态。我不确定会弹出哪个错误。所以基本上我需要得到所有类型的错误。如果任何特定的错误都是空的,那么它将给出nullpointerException?在特定的时刻,如果你有兴趣知道是否发生了错误,你将知道询问的关键。否则,如果发生任何错误,您可能会感兴趣,在这种情况下,您可以检查地图的大小。我不明白你的疑问,请澄清。我会先尝试一下,如果我在这方面有任何错误,会告诉你的。谢谢