使用Gson将Json响应解析为java对象

使用Gson将Json响应解析为java对象,java,android,gson,ormlite,pojo,Java,Android,Gson,Ormlite,Pojo,我在将这个json结构解析为相应的java对象时遇到了一个问题: [ { preciosArtPK: { codLista: 1, codArticulo: 11348, cansiVenta: 1, fecVigencia: 1435781252000 }, siglaVenta: "UN", precioVenta: 0, ma

我在将这个json结构解析为相应的java对象时遇到了一个问题:

[
{
preciosArtPK: {
                 codLista: 1,
                 codArticulo: 11348,
                 cansiVenta: 1,
                 fecVigencia: 1435781252000
               },
siglaVenta: "UN",
precioVenta: 0,
margenPct: 100,
codUsuario: 1,
vigente: "S",
nomModulo: "MIGRACION"
},
{
preciosArtPK: {
                 codLista: 1,
                 codArticulo: 15799,
                 cansiVenta: 1,
                 fecVigencia: 1435781252000
              },
siglaVenta: "UN",
precioVenta: 0,
margenPct: 100,
codUsuario: 1,
vigente: "S",
nomModulo: "MIGRACION"
}
]
我试图将这些数据插入到一个表中,我使用Gson对其进行反序列化,并使用ORMLite进行插入过程。因此,我对对象的组件没有问题,但是我不能(precisosartpk:codLista、codArticulo、cansiVenta、fecVigencia)。我如何管理这种json响应以使插入过程更容易

遵循POJO以反序列化此项:

private List<PreciosArtPK> preciosArtPKList;

@DatabaseField(id = true, unique = true, columnName = PRECIOS_COD_LISTA)
private Integer codLista;

@DatabaseField(unique = true, columnName = PRECIOS_COD_ARTICULO)
private Integer codArticulo;

@DatabaseField(unique = true, columnName = PRECIOS_CANSI_VENTA)
private Integer cansiVenta;

@DatabaseField(unique = true, columnName = PRECIOS_FEC_VIGENCIA)
private Long fecVigencia;

@DatabaseField(columnName = PRECIOS_SIGLA_VENTA)
@SerializedName("siglaVenta")
private String siglaVenta;

@DatabaseField(columnName = PRECIOS_PRECIO_VENTA)
@SerializedName("precioVenta")
private Double precioVenta;

@DatabaseField(columnName = PRECIOS_MARGEN_PCT)
@SerializedName("margenPct")
private Float margenPct;

@DatabaseField(columnName = PRECIOS_COD_USUARIO)
@SerializedName("codUsuario")
private Integer codUsuario;

@DatabaseField(columnName = PRECIOS_VIGENTE)
@SerializedName("vigente")
private String vigente;

@DatabaseField(columnName = PRECIOS_NOM_MODULO)
@SerializedName("nomModulo")
private String nomModulo;
私有列表preciosArtPKList;
@数据库字段(id=true,unique=true,columnName=PRECIOS\u COD\u LISTA)
私有整数codLista;
@数据库字段(unique=true,columnName=PRECIOS\u COD\u ARTICULO)
私有整数编码;
@数据库字段(unique=true,columnName=PRECIOS\u CANSI\u VENTA)
私有整数cansiVenta;
@数据库字段(unique=true,columnName=PRECIOS\u FEC\u VIGENCIA)
私人长期生育;
@数据库字段(columnName=PRECIOS\u SIGLA\u VENTA)
@序列化名称(“西格拉文塔”)
私人字符串西格拉文塔;
@数据库字段(columnName=PRECIOS\u PRECIO\u VENTA)
@序列化名称(“precioVenta”)
私人双精度;
@数据库字段(columnName=PRECIOS\u MARGEN\u PCT)
@序列化名称(“margenPct”)
私人浮动保证金;
@数据库字段(columnName=PRECIOS\u COD\u USUARIO)
@序列化名称(“Codusario”)
私有整数编码;
@数据库字段(columnName=PRECIOS_VIGENTE)
@序列化名称(“vigente”)
私人字符串vigente;
@DatabaseField(columnName=PRECIOS\u NOM\u MODULO)
@SerializedName(“nomModulo”)
私有字符串模;
你知道怎么处理吗?在“precisosartpk”中的每个PK字段中,我都有一个“null”响应。@serializeName上面的符号是ORMLite的东西。如果你能帮助我,我会非常感激的!提前谢谢

像往常一样礼貌


安迪

好了,伙计们,既然我在这里没有任何回应,我有义务用我所拥有的这个问题的解决方案来结束这一切。非常简单,实际上就是要在类中包含一个内部对象的实例,这就是:我有preciosArt.java

public class preciosArt
{

@SerializedName("preciosArtPK")
private PreciosArtPK preciosArtPK;

@SerializedName("siglaVenta")
private String siglaVenta;

@SerializedName("precioVenta")
private Double precioVenta;

@SerializedName("margenPct")
private Float margenPct;

@SerializedName("codUsuario")
private Integer codUsuario;

@SerializedName("vigente")
private String vigente;

@SerializedName("nomModulo")
private String nomModulo;

}
事情就是包含内部对象类,让gson来完成这项工作。希望这个帮助,任何问题我都会在这里

像往常一样礼貌


安迪

好了,伙计们,既然我在这里没有任何回应,我有义务用我所拥有的这个问题的解决方案来结束这一切。非常简单,实际上就是要在类中包含一个内部对象的实例,这就是:我有preciosArt.java

public class preciosArt
{

@SerializedName("preciosArtPK")
private PreciosArtPK preciosArtPK;

@SerializedName("siglaVenta")
private String siglaVenta;

@SerializedName("precioVenta")
private Double precioVenta;

@SerializedName("margenPct")
private Float margenPct;

@SerializedName("codUsuario")
private Integer codUsuario;

@SerializedName("vigente")
private String vigente;

@SerializedName("nomModulo")
private String nomModulo;

}
事情就是包含内部对象类,让gson来完成这项工作。希望这个帮助,任何问题我都会在这里

像往常一样礼貌

安迪