简体   繁体   中英

Convert JSON to Java object second parameter null using Gson library

I´m having a trouble converting a JSON to a Java Object using Gson library.

here is my Dispositivo.java class

public class Dispositivo {

private String codigo;
private String nombreusuario;

public Dispositivo(){}

public Dispositivo(String codigo, String nombreusuario) {
    super();
    this.setCodigo(codigo);
    this.setNombreusuario(nombreusuario);
}

public String getCodigo() {
    return codigo;
}

public void setCodigo(String codigo) {
    this.codigo = codigo;
}

public String getNombreusuario() {
    return nombreusuario;
}

public void setNombreusuario(String nombreusuario) {
    this.nombreusuario = nombreusuario;
}  public Dispositivo transformJSONStringToDispositivoObject(String dispositivoJSON) {

    Gson gson = new GsonBuilder().create();
    Dispositivo dispositivo = gson.fromJson(dispositivoJSON, Dispositivo.class);

    System.out.println("Dispositivo convertido de JSON a Objeto: "+dispositivo.getCodigo()+":"+dispositivo.getNombreusuario()+":");
    return dispositivo;
}
}

Using the method
Dispostivo d = new Dispositivo(transformJSONStringToDispositivoObject("{"codigo":"5555555","nombreususario":"usuarioDePrueba"}"));

It returns a Dispositivo("5555555",null);

What am I doing wrong?

You have a typo in field name:

Dispostivo d = new Dispositivo(transformJSONStringToDispositivoObject("
{"codigo":"5555555","nombreususario":"usuarioDePrueba"}"));

nombreususario is not the field name in your class, it's nombreusuario . Change the JSON string or the name of your class field and then it will work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM