Obtenez tableau JSON à partir de rénovation de Réponse
J'ai besoin d'analyser tableau JSON à partir de Rénovation. J'ai besoin d'obtenir la clé suivante:
{
"rc":0,
"message":"success",
"he":[
{
"name":"\u05de\u05e4\u05e7\u05d7",
"type":0
}
]
}
Je peux facilement passer le message mais je ne suis pas en mesure d'obtenir le "il" tableau de réponse.
Voici mon modèle de données de la classe
public class GetRoleData implements Serializable {
@SerializedName("he")
private ArrayList<Roles> he;
@SerializedName("message")
private String message;
public GetRoleData() {
this.he = new ArrayList<>();
this.message = "";
}
public ArrayList<Roles> getUserRoles() {
return he;
}
public String getMessage() {
return message;
}
public class Roles {
public Roles() {
name = "";
type = -1;
}
@SerializedName("name")
private String name;
@SerializedName("type")
private int type;
public int getType() {
return type;
}
public String getName() {
return name;
}
}
}
C'est la façon dont je suis l'envoi de la demande au serveur:
@POST("index.php/")
Call<GetRoleData> getUserRoles(@Body SetParams body);
ici est de savoir comment je suis demande d'envoi et de manutention réponse
APIService apiService = retrofit.create(APIService.class);
Call<GetRoleData > apiCall = apiService.getUserRoles(params);
apiCall.enqueue(new Callback<GetRoleData >() {
@Override
public void onResponse(retrofit.Response<GetRoleData > mUserProfileData, Retrofit retrofit) {
Log.e("locale info", "mUserProfileData = " + mUserProfileData.body().toString());
if (pDialog != null) {
pDialog.dismiss();
}
if (mUserProfileData.body().getMessage().equals("success")) {
Log.e("locale info", "user roles = " + mUserProfileData.body().getUserRoles().size());
} else {
Toast.makeText(RegisterActivity.this, getResources().getString(R.string.get_role_error), Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Throwable t) {
if (pDialog != null) {
pDialog.dismiss();
}
t.printStackTrace();
}
});
Ce que je veux
J'ai besoin d'obtenir le "il" tableau à partir de ci-dessus la réponse. S'il vous plaît aider Merci.
voici la réponse que je reçois..
Veuillez coller le code dans lequel vous faites la demande et de la manipulation de la réponse
veuillez vérifier.
ce
avez-vous vérifier la réponse whihc j'ai besoin d'analyser? j'ai besoin d'obtenir jsonArray de réponse qui est "il" @rédigé par
veuillez vérifier les mises à jour question. je veux obtenir les données en "il"
veuillez vérifier.
ce
I am not able to get "he" array from response
signifie exactement?avez-vous vérifier la réponse whihc j'ai besoin d'analyser? j'ai besoin d'obtenir jsonArray de réponse qui est "il" @rédigé par
veuillez vérifier les mises à jour question. je veux obtenir les données en "il"
OriginalL'auteur Mustanser Iqbal | 2015-12-17
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR DE Rénovation 2.0-beta2:
Interface:
MainActivity du onCreate:
Rénovation de 1,9
- Je utiliser votre
GetRoleData
classeL'interface:
MainActivity:
La capture d'écran suivante:
J'utilise Rénovation 1.9, pas 2.0 beta,
compile 'com.squareup.retrofit:retrofit:1.9.0'
Ver 2.0, veuillez noter que
RestAdapter
est maintenant également renommé pourRetrofit
. stackoverflow.com/questions/32424184/...après être repassé 1.9.0. encore Resadapter est incapable de résoudre
Merci.. j'ai obtenu l'erreur... en fait j'étais en train de faire exactement ce que je dois faire... Client ne fournit pas les informations complètes pour api.. parfois, je me "il" comme un JSONArray et certains "fr" comme JSONArray. maintenant j'ai frappé Url en Utilisant le facteur puis je me rends compte de l'erreur. Merci. vous êtes là quand j'ai besoin d'aide. Merci encore une fois.
OriginalL'auteur BNK
Mocky pour les tests -> http://www.mocky.io/v2/567275072500008d0e995b2c
Je suis l'aide de Rénovation 2 (bêta-2). Cela fonctionne pour moi, rien de spécial à ce sujet:
Appel définition:
Modèles:
Rénovation:
Appel exécuter:
Tester votre code sur mon mocky lien, des modèles de changement pour ma version, etc. Il doit bien y avoir un petit bug quelque part.
hmmm d'accord de me laisser tenter.
je reçois la réponse de votre mocky.. alors quoi de mal dans mon cas?
Donc il doit bien y avoir quelque chose de mal avec la réponse du serveur. Ajouter HttpLoggingInterceptor à votre client (tutoriel) et de vérifier dans le logcat quels sont exactement vous recevoir. Peut-être quelque chose de mal avec l'encodage ou vous n'obtenez pas de "il" jsonArray mais "il" jsonObject. Difficile de le dire.
OriginalL'auteur rafakob
Que vous avez écrit tous vos getters sauf
he
correctement. Afin de Rénovation pour analyser votre fichier JSON, vous devez écrire votre getter pourhe
variable comme suit.Aussi, essayez de supprimer les new ArrayList du constructeur.
Je l'ai écrit dans ma réponse. Vous avez écrit tous vos getters dans le format correct, sauf qu'il variable. Vous devez l'écrire comme getHe (au lieu de getUserRoles) afin de Rénovation pour analyser le format JSON.
ok, laissez-moi essayer.
toujours pas de succès après un changement de getRoles à getHe().
Êtes-vous d'obtenir les données à l'exception de lui-même, ou le faire vous ne parvenez pas à recevoir de réponse.corps (le) ?
OriginalL'auteur berkayk
//Utilisation de la suite des Classes Pojo
Quelle Réponse avez-vous dans les Journaux
je reçois un message comme le succès, mais pas de données pour qu'il
Avez-vous d'ajouter le convertisseur de rénovation Builder? .addConverterFactory(GsonConverterFactory.créer());
oui je l'ai fait cette rénovation = new Rénovation.Constructeur() .baseUrl(URL) .addConverterFactory(GsonConverterFactory.créer()) .build();
OriginalL'auteur vipin agrahari
Un autre moyen facile de récupérer des données à l'aide de services web en utilisant
JsonElement
et puis le convertir en JsonObject et analyser JsonObject. Ez-Pz.Note : JsonObject est pas le même que JSONobject, JsonObject appartient à GSON de la bibliothèque de l'
OriginalL'auteur Bawa