首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >是否有一种方法可以基于java中预定义的值来验证json属性?

是否有一种方法可以基于java中预定义的值来验证json属性?
EN

Stack Overflow用户
提问于 2018-02-13 05:05:55
回答 1查看 492关注 0票数 0

是否有一种方法可以基于java中预定义的值来验证json属性?

前任:

代码语言:javascript
代码运行次数:0
运行
复制
{
    "operation": "ONE" 
}

仅允许操作的值为1、2、3。因此,在JSON层中,我们希望验证该操作属性,如果请求中的值不是上述任何值,我们希望拒绝它。是否有任何JSON注释来实现这一点?

使用的库: Fasterxml Jackson

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-13 05:35:24

可以有两种可能的方法:首先,可以使用@JsonProperty,但为此需要添加@JsonCreator或自定义构造函数。

否则,您可以简单地使用Jackson模式验证。创建一个schema.json并根据模式验证每个传入输入,例如:

代码语言:javascript
代码运行次数:0
运行
复制
{
    "operation": {
                "type":"string",
                "required":true,
                "enum":["ONE","TWO","THREE"]
            }
}

这比处理杰克逊提出的例外情况(如JsonMappingException和UnrecognizedPropertyException )要好。

您可以在:http://wilddiary.com/validate-json-against-schema-in-java/上查找有关架构验证的更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48759796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档