Java 如何确定文件类型是json数据还是json模式
我想知道在上传文件时,如何区分用户是否上传了该模式的JSON模式文件或实际JSON数据文件,因为两者都是.JSON类型,而不是XML或XSD情况,从文件类型我们可以识别用户是上传XML还是XSD。简短回答 你不能 长答案 与XSD不同,JSON模式可以用术语表示,这使得它与非模式JSON文档无法区分 然而,在实践中,你可以做一些事情。按照惯例,JSON模式可以以$schema属性开头,告诉消费者正在使用的JSON模式的版本,例如:Java 如何确定文件类型是json数据还是json模式,java,json,jsonschema,Java,Json,Jsonschema,我想知道在上传文件时,如何区分用户是否上传了该模式的JSON模式文件或实际JSON数据文件,因为两者都是.JSON类型,而不是XML或XSD情况,从文件类型我们可以识别用户是上传XML还是XSD。简短回答 你不能 长答案 与XSD不同,JSON模式可以用术语表示,这使得它与非模式JSON文档无法区分 然而,在实践中,你可以做一些事情。按照惯例,JSON模式可以以$schema属性开头,告诉消费者正在使用的JSON模式的版本,例如: { "$schema": "http://json-sche
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {}
}
此外,JSON模式可以使用$ref属性,该属性允许模式作者引用模式中的其他属性,例如:
"thing":{
"$ref": "#/definitions/Thing"
}
有一系列的集合属性也可能泄露它:
required[]
,oneOf[]
,allOf[]
。然而,主要的一点是,不使用这些元素就可以创建模式 json模式应始终包含“$schema”field@FabrizioStellato-不正确。JSON模式规范不需要$schema属性