我正在尝试使用 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"
}
]
}
答案 0 :(得分:1)
尝试用@SerializedName("ToolA")
代替@JsonProperty("ToolA")
,最后一个是jackson注解