# Data

Data objects in Midio are essentially a superset of JSON, meaning they support the following data types:

* string
* number
* boolean
* null
* lists
* objects

<figure><img src="https://1896308808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdFpuRAnTVYgmlCXLLou%2Fuploads%2FU0AI3chQTfsPUh0oCuOv%2Fimage.png?alt=media&#x26;token=96e3f4ed-76ac-402f-bd08-97c6d0e2405e" alt="" width="349"><figcaption></figcaption></figure>

The above object can be viewed in text mode by clicking the **\</>** button in the top right corner:

<figure><img src="https://1896308808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdFpuRAnTVYgmlCXLLou%2Fuploads%2FHhqNsQQJi6GwmY9ICuGg%2Fimage.png?alt=media&#x26;token=e724871d-7d66-4380-820f-647d8dfe0e6f" alt="" width="375"><figcaption></figcaption></figure>

As you can see in the above **object text view**, it is not quite JSON. The object fields (value1, value2, value3, list1 and object1), are **identifiers,** and not **string literals,** as JSON would expect. Since the Midio object notation is a JSON superset, it is perfectly ok to change these to string literals, if you want. To the midio runtime, it makes no difference, and when converting to a JSON string using [Json Parse](https://docs.midio.com/midio-docs/built-in-nodes/core-std#json), any identifier will be converted to a string literal anyway.<br>

<figure><img src="https://1896308808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdFpuRAnTVYgmlCXLLou%2Fuploads%2Fy04yFB7DIszytuFSrxlZ%2Fimage.png?alt=media&#x26;token=424b18f0-0a4b-4662-bb1e-307b20bca136" alt="" width="324"><figcaption></figcaption></figure>

## Data inputs

Data objects can also accept inputs, by specifying an identifier where the data object normally expects a value. You can also convert a value to an input by clicking the **->|** icon that appears when hovering a value in the object editor.

<figure><img src="https://1896308808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdFpuRAnTVYgmlCXLLou%2Fuploads%2FIhFtwuhePtQV8JcJzinK%2Fimage.png?alt=media&#x26;token=76699ecc-1a1b-4573-bc73-8a6e19565da5" alt="" width="302"><figcaption></figcaption></figure>

The input that then appears on the left hand side of the data object can then be connected to any other value, either from a function or another data object.

<figure><img src="https://1896308808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdFpuRAnTVYgmlCXLLou%2Fuploads%2FZIFZJlZZdxlzzNBhJfdK%2Fimage.png?alt=media&#x26;token=f8671591-d9e3-4af0-a8f0-837bea581c58" alt="" width="375"><figcaption></figcaption></figure>

In the **text editor** the above object looks like this:<br>

<figure><img src="https://1896308808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdFpuRAnTVYgmlCXLLou%2Fuploads%2FNHhCZpdfc4LgUk9QLsWY%2Fimage.png?alt=media&#x26;token=8c4ac611-9596-45d3-98ba-6754c981488d" alt="" width="230"><figcaption><p>Notice that <code>input</code>is an identifier,<br> and not a string literal any more.</p></figcaption></figure>
