简体   繁体   English

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

[英]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. 我在使用Gson库将JSON转换为Java对象时遇到麻烦。

here is my Dispositivo.java class 这是我的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;
}
}

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

It returns a Dispositivo("5555555",null); 它返回一个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 . nombreususario不是您的课程中的字段名称,它是nombreusuario Change the JSON string or the name of your class field and then it will work. 更改JSON字符串或您的类字段的名称,然后它将起作用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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