### A plugin for DatoCMS that makes it possible to add/insert a key and value and output a simple JSON table, where as the value input field represents a textarea

[

**This is a Community Plugin!** Learn how create your own plugin, or copy and remix existing ones in our documentation

](https://www.datocms.com/docs/plugin-sdk/introduction.md)

## DatoCMS plugin: JSON Table

**This DatoCMS plugin makes it possible to add/insert a key and value to output a simple JSON table. The plugin is build as a custom field editor for DatoCMS JSON fields.**

(Image content)

When you input a key and value the output will be:

```json
{  "key 1": "value 1",  "key 2": "value 3",  "key 3": "value 3"}
```

## Features

-   Add keys and values
-   Output a simple JSON object
-   Make individual entries mandatory
-   Allow editor to add entries in the JSON table

For each entry in the JSON we show a key and value.

(Image content)

## Configuration

First add this plugin via DatoCMS Settings \> Plugins \> Add (`/admin/plugins/new`).

### Plugin settings

#### Settings

There are two settings for configuration of the JSON table.

If the `Editor may add item` (Default: `true`), the button with `+ ADD ITEM` will be shown. If this button is set to `false`, the editor will not be able to add any items.

`Required fields` is a comma seperated list of keys that should be required. When a key is added to this list it will show automatically as an entry in the JSON table.

(Image content)

#### Default values

To give keys a default value you can use the `Default value` tab of the JSON field. Inserting:

```json
{  "key 1": "value 1",  "key 2": "value 3",  "key 3": "value 3"}
```

will result in having the same keys and values as default.

(Image content)

Adding the same keys to the `Required fields` will result in having default values for required fields where the editor is only allowed to edit values and not allowed to edit keys.

## Contributing

See [contributing.md](https://github.com/voorhoede/datocms-plugin-json-table/blob/master/contributing.md).

## Credits

Scaffolded using [DatoCMS plugin Yeoman generator](https://github.com/datocms/generator-datocms-plugin).

## License

*MIT Licensed* by [De Voorhoede](https://www.voorhoede.nl/).