前几天遇到一个稍微复杂的json,之前无脑建类搞得很头疼。
后来发现利用内部类可以很好的解决这些问题
SpringBoot巧用静态内部类优雅地接收参数
使用Gson来生成json对象以及解析,以及静态内部Handler类
第一次发现内部类的作用。还挺好奇
然后发现了这个工具肥肠好用的说。
比如这个json
{
"TAG1658108748824": {
"TABLEDATA": [
{
"MDM_ATTR_NAME": "CUSTSUPPLIER_OTHER-IS_ENT",
"CONDI_SYMBOL": "=",
"CONDI_VALUE": "01"
},
{
"MDM_ATTR_NAME": "CUSTSUPPLIER_OTHER_ACCT_STATUS",
"CONDI_SYMBOL": "<",
"CONDI_VALUE": "3"
}
],
"SPU_BIG_TYPE": "",
"queryTerms": "&PROD_TYPE=1"
},
"TAG1658108772569": {
"TABLEDATA": [
{
"MDM_ATTR_NAME": "CUSTSUPPLIER_OTHER_ACCT_TYPE",
"CONDI_SYMBOL": "IN",
"CONDI_VALUE": [
"02",
"01"
]
}
],
"SPU_BIG_TYPE": "",
"queryTerms": "&PROD_TYPE=1"
}
}
直接点一点就转为下面这样,简简单单不用动脑子,哈哈哈哈
@NoArgsConstructor
@Data
public class TabelCondition {
@JSONField(name = "TABLEDATA")
private List tabledata;
@JSONField(name = "SPU_BIG_TYPE")
private String spuBigType;
@JSONField(name = "queryTerms")
private String queryTerms;
@NoArgsConstructor
@Data
public static class TABLEDATADTO {
@JSONField(name = "MDM_ATTR_NAME")
private String mdmAttrName;
@JSONField(name = "CONDI_SYMBOL")
private String condiSymbol;
@JSONField(name = "CONDI_VALUE")
private String condiValue;
}
}



