Base JSON schema generation