代码 > 选择Golang的json schema库蛋疼了

2020-11-02

最近在整理数据验证这一块,看了下json schema下的3款golang 实现,十分蛋疼。

我对于json schema 验证库的要求比较简单,要求就是以下几点

  • 能自定义错误信息模板
  • 能获取错误类型,进行分类处理
  • 能得到错误发生的数据的JSON Pointer
  • 能获得错误发生的数据位置的Shcema信息,比如title,描述

这点,php的库

https://docs.opis.io/json-schema/1.x/php-validation-result.html

都能很好的满足。

换成go的库,各有各的问题 

https://github.com/xeipuuv/gojsonschema

这个库相对而言最靠谱点,问题是没有JSON Pointer,也没有相关的Schema信息

https://github.com/santhosh-tekuri/jsonschema

这个库有JSON Pointer,但是错误信息只有 数据的pointer,schema的pointer,mesage,非常蛋疼

https://github.com/qri-io/jsonschema

这个库有数据Pointer,但没有schema的数据,只有message。

考虑要拉个库下来改一下了……

点击登录