web-dev-qa-db-fra.com

Erreur JSON "Java.lang.IllegalStateException: BEGIN_OBJECT attendu mais STRING au niveau du chemin de la ligne 1 de la colonne 1 $"

public interface UserService {
    @POST(Constants.Api.URL_REGISTRATION)
    @FormUrlEncoded
    BaseWrapper registerUser(@Field("first_name") String firstname, @Field("last_name") String lastname, @Field("regNumber") String phone, @Field("regRole") int role);


 public BaseWrapper registerUser(User user) {
        return getUserService().registerUser(user.getFirstName(), user.getLastName(), user.getPhone(), user.getRole());
    }

Cela crée une exception

 com.google.gson.JsonSyntaxException: Java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $

Un grand merci pour votre aide.

7
androidAnonDev

Regardons l'erreur que vous recevez.

BEGIN_OBJECT attendu

Votre JSON est un objet et tous les objets JSON sont placés entre accolades ({}). BEGIN_OBJECT est donc {. Et il s'y attend quelque part.

mais était STRING

Mais à la place, il a trouvé une chaîne "Something". Ne nous dit toujours pas où.

à la ligne 1 colonne 1 chemin $

Ah, parfait. À la ligne 1, colonne 1. Qui est le début du JSON. Vous avez donc oublié de placer le tout dans {} (ou du moins vous avez oublié le premier, mais je parie que vous les avez tous les deux oubliés).

30
Astrogat

Le nettoyage et la reconstruction du projet fonctionnent pour moi.

0
MUHAMMAD UMER