开发者社区> 问答> 正文

bean转jsonstring 自动进行方法调用导致异常

bean转jsonstring 自动进行方法调用导致异常

ean转jsonstring时,自动调用了类中的方法 由于类中的方法有可能出现异常,所以,对bean的序列化过程是否不应该调用类内的方法?

@Data public class TermV3 {

/**
 * 词语
 */
private String word;

/**
 * 获取本词语在HanLP词库中的频次
 *
 * @return 频次,0代表这是个OOV
 */
public int getFrequency() {
    return 1/0;
}

}

方法

public static void main(String[] args) {

    TermV2 termV2 = new TermV2();
    System.out.println(JSONObject.toJSONString(termV2));
}

相关日志输出

Exception in thread "main" java.lang.ArithmeticException: / by zero at com.yx.nlp.nlp.hanlp.v2.TermV3.getFrequency(TermV3.java:26) at com.alibaba.fastjson2.writer.ObjectWriter_1.write(Unknown Source) at com.alibaba.fastjson2.JSON.toJSONString(JSON.java:1757) at com.alibaba.fastjson2.JSONObject.toJSONString(JSONObject.java:1085) at com.yx.nlp.service.NlpImpl.main(NlpImpl.java:56)

原提问者GitHub用户wszpwsren

展开
收起
后端老大 2023-04-21 11:16:43 161 0
1 条回答
写回答
取消 提交回答
  • 参考这个JSONWriter.Feature. IgnoreErrorGetter https://github.com/alibaba/fastjson2/blob/main/docs/features_cn.md

    如果想在调用前识别,可以使用NameFilter https://github.com/alibaba/fastjson2/blob/main/docs/name_filter_cn.md

    也可以用这个JSONWriter.Feature.IgnoreNonFieldGetter

    原回答者GitHub用户wenshao

    2023-04-21 14:13:02
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载