I have extracted a JSON editing component based on @json-editor/json-editor from a client’s project and released it as open source. It isn’t the first JSON editing component by far but I like it a lot for the following reasons:
- It works really well.
- It supports editing arrays of objects using a tabular presentation. Tabular isn’t always better, but stacked definitely isn’t always better as well.
- The data structure is defined as JSON schema,the data which is being entered is validated on the server using the fastjsonschema library. Having a schema and schema-based validation fixes most problems I have with less structured data than when using only Django model fields (without JSON).
Here’s a screenshot of the editing component used as a django-content-editor plugin:
Within the first few days of having released the package it has already proven useful in several other projects. A pleasant (but not totally unexpected) surprise.