---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# JSON - Global

# JSON - Global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 min. de leitura

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().  
Este exemplo cria um objeto JSON.

    // 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.  
Este exemplo cria um objeto JSON em um script com escopo.

    // obj is a JSON formatted object
    var parser = new global.JSON();
    var str = parser.encode(obj);

Este exemplo usa os métodos estáticos.

    // 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() {#ariaid-title2}

Cria uma instância da classe JSON.
Esta classe está obsoleta. Em vez disso, use o objeto JavaScript JSON.
{#r_JSON-JSON__table_qvw_rgs_dw__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 1. Parâmetros]

{#r_JSON-JSON__table_qvw_rgs_dw}

## JSON - decode (cadeia de caracteres str) {#ariaid-title3}

Cria um objeto ou tipo primitivo a partir de uma cadeia de caracteres no formato JSON.
Nota:  
Esta classe está obsoleta. Em vez disso, use o objeto JavaScript JSON.
{#r_JSON-decode_S__table_kxb_vks_dw__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| str | Cadeia de caracteres | Uma cadeia de caracteres no formato JSON. |
[Tabela 2. Parâmetros]

{#r_JSON-decode_S__table_kxb_vks_dw} {#r_JSON-decode_S__table_lxb_vks_dw__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Um objeto criado a partir da cadeia de caracteres especificada. |
[Tabela 3. Retorna]

{#r_JSON-decode_S__table_lxb_vks_dw}  

    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) {#ariaid-title4}

Cria uma cadeia de caracteres a partir de um objeto JSON.
Nota:  
Esta classe está obsoleta. Em vez disso, use o objeto JavaScript JSON.
{#r_JSON-encode_O__table_u2m_phs_dw__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| jsonObject | Objeto | O objeto JSON a ser transformado em uma cadeia de caracteres. |
[Tabela 4. Parâmetros]

{#r_JSON-encode_O__table_u2m_phs_dw} {#r_JSON-encode_O__table_v2m_phs_dw__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON. |
[Tabela 5. Retorna]

{#r_JSON-encode_O__table_v2m_phs_dw}  

    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) {#ariaid-title5}

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().
{#r_JSON-parse_S__table_chm_jxx_dw__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| str | Cadeia de caracteres | Uma cadeia de caracteres no formato JSON. |
[Tabela 6. Parâmetros]

{#r_JSON-parse_S__table_chm_jxx_dw} {#r_JSON-parse_S__table_dhm_jxx_dw__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Um objeto criado a partir da cadeia de caracteres especificada. |
[Tabela 7. Retorna]

{#r_JSON-parse_S__table_dhm_jxx_dw}  

    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) {#ariaid-title6}

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().  
JSON.stringify() converte um valor em notação JSON usando as seguintes diretrizes:

* 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(){})` ou `JSON.stringify(undefined)`.
* Todas as propriedades codificadas por símbolo são ignoradas, mesmo ao usar uma função de <var class="keyword varname">substituição ()</var>.
* 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.
{#r_JSON-stringify_O__ul_wsq_4mf_pfb}
{#r_JSON-stringify_O__table_dh2_jyx_dw__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| jsonObject | Objeto | Objeto JSON a ser transformado em uma cadeia de caracteres. |
[Tabela 8. Parâmetros]

{#r_JSON-stringify_O__table_dh2_jyx_dw} {#r_JSON-stringify_O__table_eh2_jyx_dw__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Cadeia de caracteres no formato JSON. |
[Tabela 9. Retorna]

{#r_JSON-stringify_O__table_eh2_jyx_dw}  

    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);


