JSON - Global
A inclusão de script JSON fornece métodos para criar objetos JSON a partir de uma cadeia de caracteres e para transformar objetos JSON em cadeias de caracteres.
Esta API tem métodos dinâmicos e estáticos. Você acessa os métodos dinâmicos criando um objeto JSON. Para usar os métodos dinâmicos em uma aplicação com escopo, adicione o prefixo global ao chamar o construtor. Você acessa os métodos estáticos usando o objeto JSON estático.
O objeto JSON nativo do JavaScript ES5 é usado em vez dos métodos estáticos JSON. Se o seu script precisar do comportamento antigo, use os métodos encode() e decode().
// obj is a JSON formatted object
var parser = new JSON(); // encode() and decode() are dynamic methods.
var str = parser.encode(obj);Os métodos encode() e decode() estão obsoletos. Em vez disso, use o objeto JavaScript JSON.
// obj is a JSON formatted object
var parser = new global.JSON();
var str = parser.encode(obj);
// obj is a JSON formatted object
var str = JSON.stringify(obj);
// str is a string containing content to be turned into a JSON formatted object
var obj = JSON.parse(str);
JSON - JSON()
Cria uma instância da classe JSON.
Esta classe está obsoleta. Em vez disso, use o objeto JavaScript JSON.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
JSON - decode (cadeia de caracteres str)
Cria um objeto ou tipo primitivo a partir de uma cadeia de caracteres no formato JSON.
| Nome | Tipo | Descrição |
|---|---|---|
| str | Cadeia de caracteres | Uma cadeia de caracteres no formato JSON. |
| Tipo | Descrição |
|---|---|
| Objeto | Um objeto criado a partir da cadeia de caracteres especificada. |
var str = '{"name":"George","lastname":"Washington"}';
var parser = new JSON();
var obj = parser.decode(str);
gs.info('The first name is ' + obj.name);
Saída: o nome é George
Para usar em um script com escopo.
var str = '{"name":"George","lastname":"Washington"}';
var parser = new global.JSON();
var obj = parser.decode(str);
gs.info('The first name is ' + obj.name);
Saída: o nome é George
JSON - encode(Object jsonObject)
Cria uma cadeia de caracteres a partir de um objeto JSON.
| Nome | Tipo | Descrição |
|---|---|---|
| jsonObject | Objeto | O objeto JSON a ser transformado em uma cadeia de caracteres. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON. |
var obj = {"name":"George","lastname":"Washington"};
var parser = new JSON();
var str = parser.encode(obj);
gs.info('The object ' + str);
Saída: o objeto {"lastname":"Washington","name":"George"}
Para usar em um script com escopo.
var obj = {"name":"George","lastname":"Washington"};
var parser = new global.JSON();
var str = parser.encode(obj);
gs.info('The object ' + str);
JSON - parse (cadeia de caracteres str)
Cria um objeto ou tipo primitivo a partir de uma cadeia de caracteres no formato JSON.
O objeto JSON nativo do JavaScript ES5 é usado em vez dos métodos estáticos JSON. Se o seu script precisar do comportamento antigo, use os métodos encode() e decode().
| Nome | Tipo | Descrição |
|---|---|---|
| str | Cadeia de caracteres | Uma cadeia de caracteres no formato JSON. |
| Tipo | Descrição |
|---|---|
| Objeto | Um objeto criado a partir da cadeia de caracteres especificada. |
var str = '{"name":"George","lastname":"Washington"}';
var obj = JSON.parse(str);
gs.info('The first name is ' + obj.name);
Saída: o nome é George
JSON - stringify(Object jsonObject)
Cria uma cadeia de caracteres a partir de um objeto JSON.
O método JSON.stringify() só pode converter números, cadeias de caracteres e objetos nativos Java em cadeias de caracteres. Ele não pode converter objetos definidos pelo usuário em cadeias de caracteres, a menos que esses objetos forneçam um método toJSON(). A chamada para current.sys_id() retorna um objeto GlideElement que não tem um método toJSON(), portanto, o valor de retorno para stringify está vazio: "{}". O objeto JSON nativo do JavaScript ES5 é usado em vez dos métodos estáticos JSON. Se o seu script precisar do comportamento antigo, use os métodos encode() e decode().
- Se o valor tiver um método toJSON(), ele será responsável por definir os dados que são serializados.
- Objetos boolianos, numéricos e de cadeia de caracteres são convertidos para os valores primitivos correspondentes durante a cadeia de caracteres; de acordo com a semântica de conversão tradicional.
- Se uma função, indefinido ou um símbolo for encontrado durante a conversão, ele será omitido (quando for encontrado em um objeto) ou censurado para nulo (quando for encontrado em uma matriz). JSON.stringify() também retorna indefinido ao passar valores "puros", como
JSON.stringify(function(){})ouJSON.stringify(undefined). - Todas as propriedades codificadas por símbolo são ignoradas, mesmo ao usar uma função de substituição ().
- As instâncias de Data implementam a função toJSON() retornando uma cadeia de caracteres (a mesma que date.toISOString()), portanto, são tratadas como cadeias de caracteres.
- Os números Infinito e NaN, bem como o valor nulo, são todos considerados nulos.
- Para todas as outras instâncias de objeto, somente suas propriedades enumeráveis são serializadas.
| Nome | Tipo | Descrição |
|---|---|---|
| jsonObject | Objeto | Objeto JSON a ser transformado em uma cadeia de caracteres. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Cadeia de caracteres no formato JSON. |
var obj = {"name":"George","lastname":"Washington"};
var str = JSON.stringify(obj);
gs.info('The object ' + str);
Saída: o objeto {"name":"George","lastname":"Washington"}
Também é possível definir uma função de substituição () e usá-la na chamada de stringify (). Esta função aproveita o método GlideElement.toString() para fornecer uma representação de cadeia de caracteres do objeto GlideElement.
function replacer(name, val) {
// convert GlideElement to string
if ( val && val.constructor === GlideElement ) {
return val.toString();
} else {
return val; // return as is
}
};
var s = global.JSON.stringify(json_obj, replacer);
gs.info("json="+s);