Techioz Blog

Ruby での json -schema オブジェクトの検証

概要

1.以下はJSONを使用したRubyコードです - スキーマ検証。ここで重要なのは、プロパティではなくオブジェクトのみを検証したいということです

require "json-schema"
schema={"type"=>"object"}
begin
    JSON::Validator.validate(schema,{"a":5})
rescue JSON::Schema::ValidationError => e
    puts e.message
end

解決策

JSON:Validator の名前空間が無効です。ネストされたモジュールまたはクラスを指定する場合は 2 つのコロンが必要なので、代わりに JSON::Validator を使用してください。それを修正すると、テスト スキーマが検証されます。例えば:

require 'json-schema'

schema={'type' => 'object'}
JSON::Validator.validate(schema, {'a': 5})
#=> true

他にも問題があるかもしれませんが、ほとんどすべてが Object から派生しているため、この例からは明らかではありません。特定の型で問題が発生した場合は、特にそれが本質的に TypeError の形式である場合、レスキューされた SON::Schema::ValidationError の e の値に対してアクションを実行する必要があるかもしれません。