Gson 为 fromJson 方法返回 null

时间:2021-04-13 15:02:53

标签: java gson

我正在尝试使用 Gson 解析我的 Tools 类。问题是当我运行单元测试时,toolConverted 有空的 ToolA 和 ToolB。字符串本身是一个有效的 JSON 字符串,我认为问题可能出在 Tools.java 类中的构造函数上。

工具.java

@Getter
@AllArgsConstructor
@NoArgsConstructor
public class Tools{
    @JsonProperty("ToolA")
    List<ToolA> toolA;

    @JsonProperty("ToolB")
    List<ToolB> toolB;
}

工具A.java

@Getter
@AllArgsConstructor
public class ToolA{
    String uxA;
    String uxB;
    String uxC;
    String uxD;
}

转化

Gson gson = new Gson();
JsonMapper jsonMapper = JsonMapper.builder().build();
String toolsValue= jsonMapper.writeValueAsString(TOOLS_MAP);
Tools toolConverted = gson.fromJson(toolsValue, Tools .class);

工具值

{
   "ToolA":[
      {
         "uxA":"7",
         "uxB":"234.53",
         "uxC":"5345.23",
         "uxD":"0.155"
      }
   ],
   "ToolB":[
      {
         "state":"AZ",
         "compound_tax":"N",
         "federal_tax_percent":"5.0000",
         "provincial_tax_percent":"0.0000"
      }
   ]
}

1 个答案:

答案 0 :(得分:1)

尝试用@SerializedName("ToolA")代替@JsonProperty("ToolA"),最后一个是jackson注解