commit | 8695cd158443e57d30b0c6f79aa1470400a54353 | [log] [tgz] |
---|---|---|
author | sigu-399 <sigu.399@gmail.com> | Fri Jun 21 23:55:19 2013 +0800 |
committer | sigu-399 <sigu.399@gmail.com> | Fri Jun 21 23:55:19 2013 +0800 |
tree | 26b2ad87d61fecf6dc839907bdd2377a08565713 | |
parent | d85bcc164f0e4ef2841d8d4f7d268c63a6d8dea6 [diff] |
.
An implementation of JSON Schema, based on IETF's draft v4 - Go language
Working, but not all keyword are yet implemented.
What is missing : definitions, dependencies, full coverage of items, additionalItems
Testing / debugging / improvements in progress ( 79% of Json Schema Test Suite )
package main import ( "github.com/sigu-399/gojsonschema" "fmt" ) func main() { schema, err := gojsonschema.NewJsonSchemaDocument("http://myhost/bla/schema1.json") // OR //schema, err := gojsonschema.NewJsonSchemaDocument("file:///home/me/myschemas/schema1.json") if err != nil { panic(err.Error()) } jsonToValidate, err := gojsonschema.GetHttpJson("http://myotherhost/blu/extract56.json") // OR //jsonToValidate, err := gojsonschema.GetFileJson("file:///home/billy/hotels.json") if err != nil { panic(err.Error()) } validationResult := schema.Validate(jsonToValidate) fmt.Printf("IsValid %v\n", validationResult.IsValid()) fmt.Printf("%v\n", validationResult.GetErrorMessages()) }
###Website http://json-schema.org
###Schema Core http://json-schema.org/latest/json-schema-core.html
###Schema Validation http://json-schema.org/latest/json-schema-validation.html
https://github.com/sigu-399/gojsonpointer
https://github.com/sigu-399/gojsonreference
gojsonschema uses the following test suite :