使用Gson库将JSON转换为Java对象第二个参数null

时间:2014-03-08 14:54:28

标签: java json gson

我在使用Gson库将JSON转换为Java对象时遇到了问题。

这是我的Dispositivo.java类

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;
}
}

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

它返回一个Dispositivo(“5555555”,null);

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您在字段名称中输入错字:

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

nombreususario不是您班级中的字段名称,而是nombreusuario。更改JSON字符串或类字段的名称,然后它将起作用。