As it appears official JSON schema support (via serialization) has been abandoned we must look to see what we can do with JSON-LD and limited support for it in Golang...
import (
"fmt"
"github.com/piprate/json-gold/ld"
)
func processAndValidateJSONLD(jsonData string) error {
proc := ld.NewJsonLdProcessor()
options := ld.NewJsonLdOptions()
// Set the processing mode to the latest spec (e.g., "json-ld-1.1")
options.ProcessingMode = "json-ld-1.1"
// The Expand function will return an error if the JSON-LD is invalid
expandedDoc, err := proc.Expand("https://example.com/some-base-url", jsonData, options)
if err != nil {
return fmt.Errorf("JSON-LD validation error: %w", err)
}
fmt.Printf("JSON-LD document successfully processed (expanded), contains %d top-level elements.\n", len(expandedDoc.([]interface{})))
return nil
}
func main() {
doc := `{
"@context": "
As it appears official JSON schema support (via serialization) has been abandoned we must look to see what we can do with JSON-LD and limited support for it in Golang...
References:
See: https://github.com/piprate/json-gold/
e.g.,