Android 从Gson中的动态键获取值
我有一个注册Api,它有一个error对象,它在数组中动态显示错误 这是Api的JsonFormat: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." ],
{
"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?在特定的时刻,如果你有兴趣知道是否发生了错误,你将知道询问的关键。否则,如果发生任何错误,您可能会感兴趣,在这种情况下,您可以检查地图的大小。我不明白你的疑问,请澄清。我会先尝试一下,如果我在这方面有任何错误,会告诉你的。谢谢