插件:
GsonFormatPlus
示例json:
{
"function": [
{
"functionCode": "03",
"description": "描述"
},
{
"functionCode": "04",
"description": "描述"
}
]
}
生成bean的步骤:
1、新建个空白的类:
public class JsonBean {
}
2、点右键>点Generate..>GsonFormatPlus:
3、填写json内容,下一步:
4、可以改下数据类型和名称:
5、生成代码:
其它经验:
如果json是这样的:
{
"function": {
"03": {
"functionCode": "03",
"description": "描述"
},
"04": {
"functionCode": "04",
"description": "描述"
}
}
}
想要生成的代码是这样的使用HashMap的bean:
public class JsonBean {
@JsonProperty("function")
private HashMap<String,FunctionDTO> function;
@NoArgsConstructor
@Data
public static class FunctionDTO {
@JsonProperty("functionCode")
private String functionCode;
@JsonProperty("description")
private String description;
}
}
我发现这样是没办法直接做到的,会是这样的:
变通方法:
1.按上面示例的那样先生成:private List<FunctionDTO> function;
2.再改为:private HashMap<String,FunctionDTO> function;
3.测试ok
@NoArgsConstructor
@Data
public class JsonBean {
@JsonProperty("function")
private HashMap<String,FunctionDTO> function;
@NoArgsConstructor
@Data
public static class FunctionDTO {
@JsonProperty("functionCode")
private String functionCode;
@JsonProperty("description")
private String description;
}
public static void main(String[] args) {
String json="{\"function\":{\"03\":{\"functionCode\":\"03\",\"description\":\"03描述\"},\"04\":{\"functionCode\":\"04\",\"description\":\"04描述\"}}}";
JsonBean bean = JSON.parseObject(json,JsonBean.class);
System.out.println(bean.getFunction().get("03").getDescription());
}
}