toJSON
Converte um valor Lua em texto JSON.
Sintaxe
Seção intitulada “Sintaxe”string toJSON ( any valor [, bool compacto, string estilo = "none" ] )Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
valor | any | — | Valor a converter. |
compacto | bool | — | Aceito por compatibilidade; não muda o resultado. |
estilo | string | "none" | Indentação: "spaces" usa dois espaços, "tabs" usa tabulação, qualquer outro valor gera tudo em uma linha. |
Retorno
Seção intitulada “Retorno”O texto JSON, ou nil se o valor não puder ser convertido.
Não são conversíveis: funções, threads, elementos, strings com mais de 65535 caracteres e tabelas aninhadas em mais de 256 níveis. Basta um valor assim em qualquer ponto da tabela para a conversão inteira devolver nil.
Como o valor é sempre embrulhado em um array, toJSON("oi") devolve ["oi"] e toJSON({1, 2, 3}) devolve [[1,2,3]].
| Valor Lua | Vira |
|---|---|
nil | o número 0 |
| booleano | booleano |
| número | número |
| string | string |
tabela com chaves 1..n sem buracos | array JSON |
| qualquer outra tabela | objeto JSON, com as chaves convertidas em texto |
Se a mesma tabela aparecer duas vezes, a segunda ocorrência vira uma referência à primeira, que o fromJSON sabe resolver de volta.
Exemplo
Seção intitulada “Exemplo”local texto = toJSON({ nome = "Gabriel", pontos = 10 })local legivel = toJSON({ nome = "Gabriel", pontos = 10 }, false, "spaces")Veja também
Seção intitulada “Veja também”fetchRemote— Faz uma requisição HTTP e entrega a resposta a um callback.fromJSON— Lê um texto JSON e devolve os valores correspondentes.