> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alumio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Parse from JSON

> Takes an input JSON string from the context and converts it to actual JSON.

export const FormField = ({property, label, required = false, diType, uiPatterns, children}) => {
  const patterns = Array.isArray(uiPatterns) ? uiPatterns : uiPatterns ? [uiPatterns] : [];
  return <div style={{
    margin: '1.5rem 0'
  }}>
      <div style={{
    display: 'flex',
    alignItems: 'baseline',
    flexWrap: 'wrap',
    gap: '0.5rem',
    marginBottom: '0.25rem'
  }}>
        <strong>{label}</strong>
        <span style={{
    fontSize: '0.7rem',
    fontWeight: 600,
    textTransform: 'uppercase',
    letterSpacing: '0.04em',
    color: required ? '#6241f5' : '#6b7280'
  }}>
          {required ? 'Required' : 'Optional'}
        </span>
      </div>

      <div>{children}</div>

      {diType || patterns.length > 0 ? <p style={{
    fontSize: '0.85rem',
    color: '#6b7280',
    marginBottom: 0
  }}>
          {diType ? <>
              See the <a href={`/references/${diType}`}>{diType}</a> reference.{' '}
            </> : null}
          {patterns.length > 0 ? <>
              Accepts a <a href={`/documentation/placeholders-and-patterns/patterns#${patterns[0]}`}>pattern</a>.
            </> : null}
        </p> : null}
    </div>;
};

Takes an input JSON string from the context and converts it to actual JSON. Use this when a value in your flow holds JSON as plain text, for example the body of an API response or a field read from a file, and you want to work with it as structured data you can map and transform. Once parsed, you can reach into its fields directly instead of treating the whole thing as one block of text.

This documentation describes: [Schema](/schemas/deserializer/json)

## Fields

<FormField property="encodeInput" label="Input data is not UTF-8 encoded">
  An on/off toggle, off by default, which assumes the incoming text is already UTF-8. Turn it on only when the source text uses a different character set so that accented and other special characters come through correctly. When on, two extra options appear so you can describe the original character set.
</FormField>

<FormField property="encodingFrom" label="Convert from" required>
  Shown only when "Input data is not UTF-8 encoded" is on, and required there. The character set the incoming text is actually saved in, so it can be converted to UTF-8 before parsing. Choose from UTF-16, ISO-8859-1, or Windows-1252.
</FormField>

<FormField property="modifier" label="On unconvertible characters">
  Shown only when conversion is on. Controls what happens to a character that has no UTF-8 equivalent: NONE stops with an error, IGNORE drops the character, and TRANSLIT replaces it with the closest similar character.
</FormField>

## Sample data

Input:

```json theme={null}
"{\"order\":{\"id\":1024,\"customer\":\"Maria\",\"total\":49.95}}"
```

Output:

```json theme={null}
{
    "order": {
        "id": 1024,
        "customer": "Maria",
        "total": 49.95
    }
}
```

```json Configuration theme={null}
{
  "prototype": "json",
  "parameters": {}
}
```
