我可以检查 json 是否有确定的结构吗?

Can i check if a json got a determinated structure?

我想检查我传递给我的 Spring 项目的 json 是否获得了比它应该拥有的更多的价值。

这是 json 我路过

{
    "ThisIsMadeUp": "Bananas",
    "summary": "summary",
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse in interdum ligula. Maecenas nec pellentesque orci. Sed auctor nulla nequ , sollicitudin imperdiet libero volutpat eu.",
    "raised": "2019-07-01T03:18:46Z",
    "issueType": "INCIDENT",
    "priority": "Medium"
}

使用 "ThisIsMadeUp" 字段。

问题是,当我传递这个字段时,一切正常,但它必须抛出错误时,它会正确运行,因为其余字段是构建它所必需的。

如果我传递了这个字段,有没有一种方法可以在构建对象之前进行检查?

是的,您可以编写一些代码来验证此对象或使用可用库之一来验证 json 对象。

我不喜欢这样做,但是你可以 google: "json schema validator java" ?

有很多方法可以验证您的架构

  1. 使用任何 JSON 库编写自定义代码来验证模式。
  2. 使用现有的模式验证器

要从 POJO class 创建模式,您可以使用 jackson-module-jsonSchema

我用过json-schema-validator,但是这个库已经不再维护了

您可以编写一些代码或使用可用库之一来验证 json 对象。你可以看看这个https://validatejs.org/