我有一个 JsonNode,我接受它作为端点的参数。看起来像这样:@ApiModelProperty(value = "data", example = "{}", required = true)@NotNull(message = "data cannot be null")protected JsonNode data;我想创建一个名为 的验证器@ValidJson。JsonNode 本身将确保提供给它的信息是有效的 json,所以如果我传递如下内容:{"data" = "hello",},如果 后面多了一个逗号"hello",就会抛出错误。但是我如何确保我没有得到类似"Hello"JsonNode 的东西,它是有效的 json,因为普通的 String 是有效的 json 表示形式?我首先想检查字符串是否只是字母数字,如果是,那么我会认为它无效,但显然有人可以传递一个带有符号的字符串,那就没问题了。我能想到的最好的解决方案是检查第一个和最后一个字符分别是{和},JsonNode 会处理其余的事情。但我对 的了解还不够JsonNode,所以也许这里有人有更好的主意?编辑:为了更具体地表达我想要的,这里有几个例子:JsonNode 会处理不正确的 Json。我想对我获取的数据进行一些更严格的验证。我不想接收任何类型的 Json,我想要“真正的”、可序列化的 json,这就是我们所说的 json 时所指的。如果用户传递一个如下所示的字符串:"Hello" "Hello world" "I'm just a random String that isn't in a key:value structure"等等,我想抛出一个错误并询问他们以 key:value 结构格式化的 Json,例如:{ "key": "value"}我正在考虑检查第一个和最后一个字符串值是否分别为{和},正如我在评论中提到的那样,但我认为这太“hacky”,也许有更好的方法。
添加回答
举报
0/150
提交
取消