首页 > 解决方案 > 如何反序列化具有连字符或破折号的 Json 对象 - 在其属性名称中 .. 使用 GSON

问题描述

示例 Json -


{"error":
  {"message":"irp-return-error",
    "irp-err":{"ErrorCode":"1015","ErrorMessage":"Invalid Data for this user"}
  }
}

我尝试使用 @SerializedName Gson 注释设置名称

public class Error {
    @SerializedName("irp-err")
    private IrpErr irpErr;
    private String message;

但是对 json 对象的调用返回 null。

Gson erngson = new Gson();
ErrResponse data = erngson.fromJson(response.readEntity(String.class), ErrResponse.class);
if(data.getError()!=null){
            IrpErr irperr = data.getError().getIrpErr(); //NPE
}

标签: javajsongson

解决方案


推荐阅读