{"id":13907444,"url":"https://github.com/yourtion/vue-json-ui-editor","last_synced_at":"2025-10-07T06:55:55.641Z","repository":{"id":37664664,"uuid":"111571144","full_name":"yourtion/vue-json-ui-editor","owner":"yourtion","description":"Edit JSON in UI form with JSON Schema and Vue.js","archived":false,"fork":false,"pushed_at":"2025-08-18T16:34:28.000Z","size":2225,"stargazers_count":524,"open_issues_count":9,"forks_count":95,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-09-20T21:02:13.551Z","etag":null,"topics":["json","json-editor","json-schema","json-ui-schema","schema","vue","vue-editor","vue-json-editor","vue-json-schema"],"latest_commit_sha":null,"homepage":"http://jsonui.js.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yourtion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-21T16:04:42.000Z","updated_at":"2025-09-17T11:24:19.000Z","dependencies_parsed_at":"2022-07-14T21:46:51.568Z","dependency_job_id":null,"html_url":"https://github.com/yourtion/vue-json-ui-editor","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/yourtion/vue-json-ui-editor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yourtion%2Fvue-json-ui-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yourtion%2Fvue-json-ui-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yourtion%2Fvue-json-ui-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yourtion%2Fvue-json-ui-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yourtion","download_url":"https://codeload.github.com/yourtion/vue-json-ui-editor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yourtion%2Fvue-json-ui-editor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278734410,"owners_count":26036404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json","json-editor","json-schema","json-ui-schema","schema","vue","vue-editor","vue-json-editor","vue-json-schema"],"created_at":"2024-08-06T23:01:56.490Z","updated_at":"2025-10-07T06:55:55.622Z","avatar_url":"https://github.com/yourtion.png","language":"TypeScript","funding_links":[],"categories":["JavaScript","json","TypeScript"],"sub_categories":[],"readme":"[![NPM version][npm-image]][npm-url]\n[![build status][travis-image]][travis-url]\n[![Test coverage][coveralls-image]][coveralls-url]\n[![David deps][david-image]][david-url]\n[![npm download][download-image]][download-url]\n[![npm license][license-image]][download-url]\n\n[npm-image]: https://img.shields.io/npm/v/vue-json-ui-editor.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/vue-json-ui-editor\n[travis-image]: https://img.shields.io/travis/yourtion/vue-json-ui-editor.svg?style=flat-square\n[travis-url]: https://travis-ci.org/yourtion/vue-json-ui-editor\n[coveralls-image]: https://img.shields.io/coveralls/yourtion/vue-json-ui-editor.svg?style=flat-square\n[coveralls-url]: https://coveralls.io/r/yourtion/vue-json-ui-editor?branch=master\n[david-image]: https://img.shields.io/david/yourtion/vue-json-ui-editor.svg?style=flat-square\n[david-url]: https://david-dm.org/yourtion/vue-json-ui-editor\n[download-image]: https://img.shields.io/npm/dm/vue-json-ui-editor.svg?style=flat-square\n[download-url]: https://npmjs.org/package/vue-json-ui-editor\n[license-image]: https://img.shields.io/npm/l/vue-json-ui-editor.svg\n\n# json-editor\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/yourtion/vue-json-ui-editor.svg)](https://greenkeeper.io/)\n[![DeepScan grade](https://deepscan.io/api/teams/2046/projects/2774/branches/19927/badge/grade.svg)](https://deepscan.io/dashboard#view=project\u0026tid=2046\u0026pid=2774\u0026bid=19927)\n\nEdit JSON in UI form with JSON Schema and Vue.js `\u003cjson-editor\u003e` component.\n\n![ScreenShot](screenshot.jpg)\n\n## Install\n\n```bash\nnpm install vue-json-ui-editor --save\n```\n\n## Use\n\n```Vue\n\u003ctemplate\u003e\n\u003cjson-editor ref=\"JsonEditor\" :schema=\"schema\" v-model=\"model\"\u003e\n    \u003cbutton @click=\"submit\"\u003esubmit\u003c/button\u003e\n    \u003cbutton @click=\"reset\"\u003eReset\u003c/button\u003e\n\u003c/json-editor\u003e\n\u003c/template\u003e\n\n\u003cscript\u003e\nconst SCHEMA = {\n  type: 'object',\n  title: 'vue-json-editor demo',\n  properties: {\n    name: {\n      type: 'string',\n    },\n    email: {\n      type: 'string',\n    },\n  },\n};\n// import vue-json-ui-editor\nimport JsonEditor from 'vue-json-ui-editor';\nexport default {\n  components: { JsonEditor },\n  data: () =\u003e ({\n    // init json schma file ( require('@/schema/newsletter') )\n    schema: SCHEMA,\n    // data\n    model: {\n      name: 'Yourtion',\n    },\n  }),\n\n  methods: {\n    submit(_e) {\n      alert(JSON.stringify(this.model));\n    },\n    reset() {\n      this.$refs.JsonEditor.reset();\n    },\n  },\n};\n\u003c/script\u003e\n```\n\nMore info on: [Example-Subscription](example/components/Subscription.vue)\nSchema: [newsletter.json](example/schema/newsletter.json)\n\n## props\n\n- `schema` ***Object*** (*required*)\nThe JSON Schema object. Use the `v-if` directive to load asynchronous schema.\n\n- `v-model` ***Object*** (*optional*) `default: [object Object]`\nUse this directive to create two-way data bindings with the component. It automatically picks the correct way to update the element based on the input type.\n\n- `auto-complete` ***String*** (*optional*)\nThis property indicates whether the value of the control can be automatically completed by the browser. Possible values are: `off` and `on`.\n\n- `no-validate` ***Boolean*** (*optional*)\nThis Boolean attribute indicates that the form is not to be validated when submitted.\n\n- `input-wrapping-class` ***String*** (*optional*)\nDefine the inputs wrapping class. Leave `undefined` to disable input wrapping.\n\n## data\n\n- `default`\n *initial value:* `[object Object]`\n\n- `fields`\n *initial value:* `[object Object]`\n\n- `error`\n *initial value:* `null`\n\n- `data`\n *initial value:* `[object Object]`\n\n## events\n\n- `input` Fired synchronously when the value of an element is changed.\n\n- `change` Fired when a change to the element's value is committed by the user.\n\n- `invalid` Fired when a submittable element has been checked and doesn't satisfy its constraints. The validity of submittable elements is checked before submitting their owner form, or after the `checkValidity()` of the element or its owner form is called.\n\n- `submit` Fired when a form is submitted\n\n## methods\n\n- `input(name)`\nGet a form input reference\n\n- `form()`\nGet the form reference\n\n- `checkValidity()`\nChecks whether the form has any constraints and whether it satisfies them. If the form fails its constraints, the browser fires a cancelable `invalid` event at the element, and then returns false.\n\n- `reset()`\nReset the value of all elements of the parent form.\n\n- `submit(event)`\nSend the content of the form to the server\n\n- `setErrorMessage(message)`\nSet a message error.\n\n- `clearErrorMessage()`\nclear the message error.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyourtion%2Fvue-json-ui-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyourtion%2Fvue-json-ui-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyourtion%2Fvue-json-ui-editor/lists"}