【问题标题】:Parse Json reponse into java objects with Gson使用 Gson 将 Json 响应解析为 java 对象
【发布时间】:2015-08-22 11:20:05
【问题描述】:

我在将这个 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 进行插入过程。所以,我对对象的组件没有问题,但我不能(preciosArtPK: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;

任何想法如何处理这个?我在 "preciosArtPK" 内的每个 PK 字段中都有一个 "null" 响应。 @serializeName 上面的符号是 ORMLite 的东西。请如果你能帮助我,我将不胜感激!提前致谢。

像往常一样礼貌,

安迪

【问题讨论】:

    标签: java android gson ormlite pojo


    【解决方案1】:

    好的,伙计们,因为我在这里没有任何回应,我有义务通过解决我遇到的这个问题来结束这个问题。很简单其实就是在类中包含一个内部对象的实例,就是:我有 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 完成工作。希望这有帮助,任何问题我都会在这里!

    像往常一样礼貌,

    安迪

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      • 2015-10-10
      相关资源
      最近更新 更多