我是JSON Schema的新手,我正在尝试基于HL7-FHIR模式验证JSON。我认为数据应该无效(并且基于Java的官方validator表示无效)显示为有效。
例如,{"dog": "food"}
应该无效,因为当我运行验证器时,我得到:
> java -jar org.hl7.fhir.validator.jar bad.json -defn definitions.json.zip
.. load FHIR from definitions.json.zip
.. connect to tx server @ http://tx.fhir.org/r3
(vnull-null)
.. validate
*FAILURE* validating bad.json: error:1 warn:0 info:0
Fatal @ $ (line 1, col2) : Unable to find resourceType property
但是,如果我将fhir.schema.json
文件从here粘贴到JSON Schema验证程序(如{{}}}中,并评估{"dog": "food"}
,则该文件有效。
即使我提供resourceType
也是有效的,我认为这可能会导致限制。如果我复制一个我希望有效的例子,这也是有效的 - 比如,这位从业者here - 并更改一些类型(例如,将name
设置为字符串而不是数组)。
我不确定我是否特别遇到了HL7-FHIR JSON Schema的问题,或者我是否遇到了JSON Schema的问题。我相信我的问题与example不同,因为我们似乎要发布3.0版,因此我正在使用的架构已更新。