`
rainy646556896
  • 浏览: 20503 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JsonSchema 校验

 
阅读更多
package groovystudy

import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.JsonNode
import com.github.fge.jsonschema.core.exceptions.ProcessingException
import com.github.fge.jsonschema.core.report.ProcessingReport
import com.github.fge.jsonschema.main.JsonSchema
import com.github.fge.jsonschema.main.JsonSchemaFactory
import com.github.fge.jsonschema.core.load.uri.URITranslatorConfiguration
import com.github.fge.jsonschema.core.load.configuration.LoadingConfiguration

class JsonSchemaExample {
    static void main(args) {
        //Response
        def filePath = "file:/D:/DATA_API_V2/soapui/schema/dataapiv2/"
        def jsonStr = '''{
	"book":"1",
	"name":"sunny"
        }''' 
        def mapper = new ObjectMapper()
        JsonNode json = mapper.readValue(jsonStr, JsonNode.class)        
        
        
        def schemaFileName = "test.json"
        def traslatorCfg = URITranslatorConfiguration.newBuilder().setNamespace(new URI(filePath)).freeze()
        def cfg = LoadingConfiguration.newBuilder().setURITranslatorConfiguration(traslatorCfg).freeze()
        def factory = JsonSchemaFactory.newBuilder().setLoadingConfiguration(cfg).freeze()
        def schema = factory.getJsonSchema(schemaFileName)
        
        ProcessingReport report = schema.validate(json)      
        if(!report.success) {
            throw new Exception("Schema $schemaFileName Validation failed :" +report)
        }

    }
  
}

 

分享到:
评论

相关推荐

    JSON Schema 校验库——json-schema-validator(java版本).rar

    JsonSchema schema = factory.getJsonSchema(schemaFile); // 加载Schema ObjectMapper mapper = new ObjectMapper(); JsonNode dataNode = mapper.readTree(dataFile); // 解析JSON数据 ProcessingReport report = ...

    json格式校验前端插件(javascript)

    在前端开发中,正确解析和校验JSON格式至关重要,因为任何格式错误都可能导致程序崩溃或逻辑错误。本文将详细介绍一个基于JavaScript的JSON格式校验前端插件,以及如何利用它来提高开发效率。 首先,这个插件主要...

    JSON Schema验证规范-中文版

    ### JSON Schema验证规范详解 #### 一、简介 JSON Schema是一种使用JSON来描述其他JSON数据结构的方法。它不仅能够帮助开发者定义数据结构的格式,还能确保数据的有效性和一致性。JSON Schema的一个重要应用就是...

    Schema校验java

    在Java开发中,Schema校验是一项重要的任务,它主要用于确保数据符合特定的结构或格式,以保证数据的准确性和一致性。Schema通常用于XML、JSON等数据格式,它定义了一组规则,用来验证输入的数据是否符合这些规则。...

    schema校验问题

    对于JSON数据,可以使用`ajv`或`jsonschema`这样的JavaScript库进行JSON Schema校验。 6. **源码分析**:深入理解校验工具的源码可以帮助开发者定制自己的校验规则,解决特定场景下的问题,或者优化性能。 7. **...

    jsonschema在开发及测试中的应用.doc

    首先安装 Python 和 `jsonschema`,然后编写验证代码,将 JSON 数据与 JSON Schema 进行比对,系统会根据定义的规则判断数据是否有效,并提供详细的错误信息。 5. **数据类型** JSON Schema 支持多种数据类型: -...

    php json schema 参数校检库

    在PHP中,我们有时需要对JSON数据进行校验,确保它们符合特定的Schema,这就需要用到PHP的JSON Schema参数校验库。 "php json schema 参数校检库"这个标题表明我们将讨论一个PHP库,它的主要功能是对JSON数据按照...

    JSON-Schema定义规范

    ### JSON-Schema定义规范 #### 前言 在现代软件开发中,数据交换与处理是必不可少的一部分。随着Web服务的普及以及API的发展,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简单易读且...

    rapidjson schema 校验

    总结来说,RapidJSON的JSON Schema校验功能结合C++和Linux环境,为我们提供了一种强大的方式来验证和约束JSON数据。通过处理远程$ref,我们可以将Schema设计得更加灵活和模块化。对于大型项目而言,这种能力至关重要...

    flask-json-schema:Flask扩展使用jsonschema规范来验证JSON请求

    通过此扩展,可以轻松验证使用jsonschema规范发送到Flask应用的JSON数据 设置 Flask-json-schema在PyPI上可用,并且可以与 pip install flask-json-schema 扩展名可以直接初始化: from flask import Flask from ...

    jsonschema2pojo:从JSON或JSON Schema生成Java类型,并注释这些类型以便与Jackson,Gson等进行数据绑定

    jsonschema2pojo jsonschema2pojo从JSON模式(或示例JSON)生成Java类型,并可以注释这些类型以便与Jackson 1.x,Jackson 2.x或Gson进行数据绑定。 注意:在0.5.1和1.0.0之间存在重大变化。 检查。 1.0.0 Alpha,...

    BeanToJsonSchema:Java bean转换为Json Schema

    这样,当你需要验证基于这个Java Bean的JSON数据时,就可以利用生成的JSON Schema来进行校验。 总结来说,`BeanToJsonSchema`是一个方便Java开发者将业务对象转换为JSON Schema的工具,它简化了数据模型与JSON数据...

    jsonschema-validator-default:验证对象,如果写入正确,则返回缺少默认值的对象

    jsonschema-validate-default 只是一个基于jsonschema库的小库,可让您测试对象是否有效以及是否将其与默认数据结合使用范例懒惰的const validate = require ( 'djsv' ) ;// create your schemaconst json = { "type...

    vue3-json-schema-form:基于jsonschema的vue3表单生成器

    a form generator based on jsonschema for vue3 Project setup npm install npm run serve npm run build npm run test:unit npm run lint API 设计 <JsonSchemaForm schema={schema} value={value} xss=removed ...

    Python库 | jsonschema_model-1.4.0-py2.py3-none-any.whl

    Python库jsonschema_model-1.4.0-py2.py3-none-any.whl是一个用于验证JSON数据结构的工具,特别适合在Python开发中确保输入的数据符合预定义的规范。这个库是基于Python的标准库jsonschema扩展而来,提供了一种模型...

    react-hook-form-jsonschema:轻量级项目,提供一个API,可轻松地基于JSON Schema进行内置验证来创建可自定义的表单

    react-hook-form-jsonschema 一个基于小型项目,该项目公开了一个API,可以轻松地基于具有内置验证的创建可自定义的表单。 react-hook-form-jsonschema是一个React hooks库,用于管理基于JSON Schema生成功能表单所...

    swagger-schema-validator:针对Swagger 2定义验证JSON对象

    Swagger模式验证器 该库针对Swagger 2规范的definitions部分中definitions模型验证JSON对象。 InputStream spec = getClass() . getResourceAsStream( " mySpec.yaml " );SwaggerValidator validator = ...

    php使用json-schema模块实现json校验示例

    在PHP代码中使用JSON Schema模块进行校验时,首先需要定义JSON数据,然后通过`JsonSchema\Validator`类创建一个验证器实例,将JSON数据和Schema文件分别解码后进行校验: ```php $json = '{"firstName":"John",...

    neo4j-examples-2.0.2.zip

    转换过程可能涉及到解析Avro的schema,将其映射到JSON Schema格式,或者将JSON数据按照JSON Schema校验并转换成Avro格式。 标签"开源项目"表明这些资源都是开放源代码的,允许开发者查看、使用、修改和分发。这对于...

    python参数校验jsonschema

    接下来,我们来了解如何使用`jsonschema`进行参数校验。假设我们有一个JSON数据,需要验证其是否包含`name`和`age`字段,且`age`必须是整数。我们可以定义如下的JSON Schema: ```json { "type": "object", ...

Global site tag (gtag.js) - Google Analytics