Converter um valor Lua em uma string JSON (json.encode)
Declaração
texto_JSON, mensagem_de_erro = json.encode(valor)
Parâmetro
- valor
Tabela, texto, número, booleano ou json.null; valor Lua a ser convertido em texto JSON.
Valores de retorno
- texto JSON
Texto ou nil; retorna uma string JSON quando a conversão é bem-sucedida e nil caso contrário. - mensagem de erro
Texto ou nil; quando a conversão falha e o valor de texto JSON é nil, este valor de retorno contém a mensagem de erro correspondente.
Descrição
Converter valores de dados Lua para JSON facilita a interação e a transmissão com outras linguagens.
Atenção: nem todo valor Lua pode ser convertido em JSON, como userdata, funções e tabelas que contenham userdata ou funções.
Esta função pode ser usada no XUI.
Exemplo
local tb = {
["name"] = "alice",
["message"] = "hello, world",
scores = {
90, 85, 72, 100, 68,
},
nullvalue = json.null,
}
local jsonstr = json.encode(tb)
sys.alert(jsonstr)
--
local tmp = json.decode(jsonstr)
sys.alert(tmp.scores[4])
sys.alert(tostring(tmp.nullvalue))
Nota: o código acima usa a função sys.alert, que não pertence a este capítulo.