You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JsonAssertions中忽略含子节点与数组的指定节点?

用JsonUnit Assertj忽略指定节点下的所有内容(含数组及子节点)

你要忽略md.ignoreAllIn节点下的全部内容,不需要逐个字段配置,JsonUnit Assertj提供了更简洁的方式:

方法1:完全忽略整个节点(包括节点本身)

直接针对目标路径设置IGNORING模式,该节点及其下所有子元素、数组都会被跳过比对:

assertThatJson(actualJson)
    .when(path("md.ignoreAllIn"), then(IGNORING))
    .isEqualTo(expectedJson);

方法2:保留节点但忽略所有子内容

如果需要保留ignoreAllIn节点的存在性,只忽略其内部所有子元素(包括数组、嵌套对象),可以用递归通配符**配合IGNORING_VALUES:

assertThatJson(actualJson)
    .when(path("md.ignoreAllIn**"), then(IGNORING_VALUES))
    .isEqualTo(expectedJson);

你之前的写法问题在于路径指向错误(写了md.i[*]而非目标节点),且逐个字段配置效率太低。上面两种方法都能一步到位处理整个节点的忽略需求,不管节点内部有多少层级或数组元素。

内容的提问来源于stack exchange,提问作者Simon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:15:35