{"id":48810,"library":"nz-json-schema-form","title":"NZ JSON Schema Form","description":"An Angular component library that generates ng-zorro-antd forms from JSON Schema definitions. Current stable version is 0.3.1. It supports Draft 2020-12 schemas, custom widget registration via SchemaWidgetRegistryService, and integrates tightly with Angular 20 and ng-zorro-antd 20. Key differentiators: automatic form generation with zero configuration, extensible widget system, and type-safe schema definition via NzSchema interface. Release cadence is irregular as it is a young library.","status":"active","version":"0.3.1","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","schema","form","json","angular","typescript"],"install":[{"cmd":"npm install nz-json-schema-form","lang":"bash","label":"npm"},{"cmd":"yarn add nz-json-schema-form","lang":"bash","label":"yarn"},{"cmd":"pnpm add nz-json-schema-form","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required for Angular components. Must match version ^20.0.0.","package":"@angular/common","optional":false},{"reason":"Peer dependency required for Angular core functionality. Must match version ^20.0.0.","package":"@angular/core","optional":false},{"reason":"Peer dependency for UI components. Must match version ^20.0.0.","package":"ng-zorro-antd","optional":false}],"imports":[{"note":"The component is a named export, not a default export. This is an Angular standalone component.","wrong":"import NzSchemaComponent from 'nz-json-schema-form'","symbol":"NzSchemaComponent","correct":"import { NzSchemaComponent } from 'nz-json-schema-form'"},{"note":"The type is named NzSchema, not Schema. It corresponds to the JSON Schema object.","wrong":"import { Schema } from 'nz-json-schema-form'","symbol":"NzSchema","correct":"import { NzSchema } from 'nz-json-schema-form'"},{"note":"BaseField is a named export used for creating custom widget components.","wrong":"import BaseField from 'nz-json-schema-form'","symbol":"BaseField","correct":"import { BaseField } from 'nz-json-schema-form'"},{"note":"The service name includes 'Service'. It is used to register custom widgets.","wrong":"import { SchemaWidgetRegistry } from 'nz-json-schema-form'","symbol":"SchemaWidgetRegistryService","correct":"import { SchemaWidgetRegistryService } from 'nz-json-schema-form'"},{"note":"The enum is plural: JSONSchemaTypes. It provides values like 'string', 'number', etc.","wrong":"import { JSONSchemaType } from 'nz-json-schema-form'","symbol":"JSONSchemaTypes","correct":"import { JSONSchemaTypes } from 'nz-json-schema-form'"}],"quickstart":{"code":"import { Component } from '@angular/core';\nimport { NzSchemaComponent, NzSchema } from 'nz-json-schema-form';\n\n@Component({\n  selector: 'app-form',\n  imports: [NzSchemaComponent],\n  template: '<nz-schema [nzSchema]=\"schema\"></nz-schema>'\n})\nexport class FormComponent {\n  schema: NzSchema = {\n    $schema: 'https://json-schema.org/draft/2020-12/schema',\n    $id: 'https://example.com/product.schema.json',\n    title: 'Product',\n    description: \"A product from Acme's catalog\",\n    type: 'object',\n    properties: {\n      productId: {\n        description: 'The unique identifier for a product',\n        type: 'number',\n        title: 'Product Name'\n      },\n      productName: {\n        description: 'Name of the product',\n        type: 'string',\n        title: 'Product Name'\n      },\n      tags: {\n        description: 'Tags for the product',\n        type: 'array',\n        items: {\n          type: 'string'\n        },\n        minItems: 1,\n        uniqueItems: true,\n        title: 'Tags'\n      }\n    },\n    required: ['productId', 'productName']\n  };\n}","lang":"typescript","description":"This code demonstrates how to create an Angular component that uses NzSchemaComponent to render a form from a JSON Schema definition."},"warnings":[{"fix":"Ensure @angular/core, @angular/common, and ng-zorro-antd are at version ^20.0.0.","message":"Library requires Angular 20 and ng-zorro-antd 20 as peer dependencies. Using older versions will cause compilation errors.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Check the library's type definitions for supported properties. Use standard JSON Schema validators to ensure schema compatibility.","message":"NzSchema type may not include all JSON Schema Draft 2020-12 features. Unsupported properties might be ignored.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Stay updated with library changelog.","message":"No known deprecations in current version. This is a placeholder for future deprecations.","severity":"deprecated","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'-12':29 '0.3.1':24 '20':41,47 '2020':28 'angular':6,40,82 'antd':14,46 'automat':50 'cadenc':69 'compon':7 'configur':55 'current':20 'custom':31 'definit':19,64 'differenti':49 'draft':27 'extens':56 'form':4,15,51,80 'generat':10,52 'integr':37 'interfac':67 'irregular':71 'javascript':78 'json':2,17,81 'key':48 'librari':8,77 'ng':12,44 'ng-zorro-antd':11,43 'nz':1 'nzschema':66 'registr':33 'releas':68 'safe':62 'schema':3,18,30,63,79 'schemawidgetregistryservic':35 'stabl':21 'support':26 'system':58 'tight':38 'type':61 'type-saf':60 'typescript':83 'version':22 'via':34,65 'widget':32,57 'young':76 'zero':54 'zorro':13,45","created_at":"2026-06-07T16:58:35.440896+00:00","updated_at":"2026-06-07T16:58:35.440896+00:00","problems":[{"fix":"Run 'npm install nz-json-schema-form' and ensure it's listed in package.json dependencies.","cause":"Missing dependency or not installed in node_modules.","error":"Cannot find module 'nz-json-schema-form' or its corresponding type declarations."},{"fix":"Use [nzSchema]=\"schema\" in the template.","cause":"Using wrong input name. The input is named 'nzSchema', not 'schema' or 'NzSchema'.","error":"Property 'nzSchema' does not exist on type 'NzSchemaComponent'."},{"fix":"Add SchemaWidgetRegistryService to the providers array of your component or module.","cause":"SchemaWidgetRegistryService must be provided at component or module level to use custom widgets.","error":"SchemaWidgetRegistryService is not provided. Did you forget to add it to providers?"},{"fix":"Initialize schema with a valid NzSchema object or use the non-null assertion operator.","cause":"Initializing schema property as undefined without proper type handling.","error":"Type 'undefined' is not assignable to type 'NzSchema'."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":null,"npm":"nz-json-schema-form","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}