我有一个注册Api,它有一个错误对象,它在数组中显示动态错误。
这是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。 我在我的Data类中做了这个,但它显示了我的错误。
@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获取错误。谢谢你
答案 0 :(得分:1)
您可以使用Map
来维护数据结构,如下所示:
Type type = new TypeToken<Map<String, String>>(){}.getType();
Map<String, String> myMap = gson.fromJson(yourErrorsArrayHere, type);
然后只使用myMap.get("your_error_key")
来获取特定错误。