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

# json.stringify

> Serializa um Lua value para JSON string usando a mesma function que json.encode.

<div className="real-function-page">
  ```lua theme={null}
  json.stringify(value: any, options?: EncodeOptions): string
  ```

  ## Argumentos

  <ParamField path={"value"} type={"any"} required>
    Value para encode. nil, booleans, numbers, strings, tables e json.null sao tratados diretamente. Unsupported Lua types sao encode como null, a menos que errorOnUnsupported seja true.
  </ParamField>

  <ParamField path={"options"} type={"EncodeOptions"}>
    Optional encode options. Um boolean alterna pretty output. Um number ativa pretty output com essa quantidade de spaces com clamp para 0.16. Uma string ativa pretty output com esse indent. Uma table pode definir pretty, sortKeys, emptyTableAsArray, errorOnUnsupported, encodeInvalidNumbersAsNull, maxDepth e indent.
  </ParamField>

  ## Retornos

  <ResponseField name={"json"} type={"string"}>
    Encoded JSON string. Encoding errors sao lancados como Luau errors.
  </ResponseField>

  ## Tipos

  ### EncodeOptions

  Controla a serialização e formatação JSON.

  | Name                         | Type      | Required | Descrição                                                        |
  | ---------------------------- | --------- | -------- | ---------------------------------------------------------------- |
  | `pretty`                     | `boolean` | No       | Permite saída JSON formatada e multilinha.                       |
  | `sortKeys`                   | `boolean` | No       | Classifica as chaves dos objetos antes da codificação.           |
  | `emptyTableAsArray`          | `boolean` | No       | Codifica uma tabela vazia como uma matriz em vez de um objeto.   |
  | `errorOnUnsupported`         | `boolean` | No       | Gera um erro em vez de substituir valores não suportados.        |
  | `encodeInvalidNumbersAsNull` | `boolean` | No       | Codifica NaN e números infinitos como JSON nulo.                 |
  | `maxDepth`                   | `integer` | No       | Define a profundidade máxima de aninhamento, fixada de 1 a 4096. |
  | `indent`                     | `string`  | No       | Define a sequência de recuo, limitada a 32 caracteres.           |

  ## Exemplo

  Encode JSON-compatible values usando a mesma function que json.encode.

  ```lua theme={null}
  local text = json.stringify({
      status = "ready",
      count = 3,
      tags = json.array({ "stringify", "alias" }),
      missing = json.null,
  }, {
      sortKeys = true,
  })

  print(text)
  ```
</div>
