Json字符串反解析为对象的时候自动执行某些逻辑

  1. 对象定义中没有safUrlDesc字段
  2. 第三方接口返回的数据里有safUrlDesc字段
  3. 通过@JSONField注解映射到safUrlDesc字段然后注解修饰set方法,set方法会被自动执行,自动执行的逻辑中,可以编写解析safUrlDesc字段内容,然后给别的字段赋值的逻辑
    核心代码
@JSONField(name = "safUrlDesc")
    public void setSafUrlDesc(String safUrlDesc) {
        if (safUrlDesc != null) {
            Matcher timeoutMatcher = TIMEOUT_PATTERN.matcher(safUrlDesc);
            if (timeoutMatcher.find()) {
                this.timeout = parseLong(timeoutMatcher.group(1), "timeout");
            }else{
                this.isDefaultTimeout = true;
                this.timeout = 5000L;
            }

            Matcher retriesMatcher = RETRIES_PATTERN.matcher(safUrlDesc);
            if (retriesMatcher.find()) {
                this.retries = parseInt(retriesMatcher.group(1), "retries");
            }else {
                this.retries = 0;
            }
        }
    }
posted @ 2025-04-16 15:32  SpecialSpeculator  阅读(6)  评论(0)    收藏  举报