# JSON Generator (Mock)

O **JSON Generator (Mock)** cria um objeto JSON. Esse conector aceita qualquer input.

## **Parâmetros**

Dê uma olhada nas opções de configuração do conector. Parâmetros suportados por [expressões Double Braces](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/double-braces/overview) estão marcados com `(DB)`.

<table data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Valor padrão</th><th>Tipo de dado</th></tr></thead><tbody><tr><td><strong>JSON</strong> <code>(DB)</code></td><td>O objeto JSON que será o output do conector.</td><td>N/A</td><td>Objeto JSON</td></tr><tr><td><strong>Fail on Error</strong></td><td>Se a opção for ativada, a execução do pipeline com erro será interrompida. Caso contrário, a execução do pipeline continua, mas o resultado mostrará um valor falso para a propriedade <code>"success"</code>.</td><td>Falso</td><td>Booleano</td></tr></tbody></table>

## **Usando Globals**

As [Globals](https://app.gitbook.com/s/cO0A6g1dOsu8BiHYqO67/platform-administration/settings/globals) podem ser recuperadas no conector **JSON Generator (Mock)** usando a seguinte expressão com Double Braces:

```json
{{global.global-name}}
```

Você pode recuperar Globals de duas formas:

* Como **string**
* Como **número**

### **Recuperando Globals como string**

Se o valor da Global for uma string, independentemente da sua categoria, você deve colocar a expressão com Double Braces entre **aspas duplas**.

Por exemplo, suponha que você crie uma Global chamado **global-email** na categoria **Email** e defina um endereço de email como valor. A Plataforma interpretará esse valor como uma string. Portanto, para recuperar essa Global no conector **JSON Generator (Mock)**, a expressão deve ser estruturada da seguinte forma:

```json
{
	"email": "{{global.global-email}}"
}
```

Se você não colocar a expressão entre aspas duplas, receberá o seguinte erro:

{% code overflow="wrap" %}

```json
{
 	"timestamp": 1738778741919,
	"error": "An internal error has occurred. Exception: com.digibee.pipelineengine.exception.PipelineEngineRuntimeException: Could not parse double braces parameter json due to JSON exception: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'email': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\n at [Source: (String)\"{\n  \"email\": email@gmail.com\n}\"; line: 2, column: 17]",
 	"code": 500
}
```

{% endcode %}

Essa regra se aplica a qualquer Global cujo valor seja uma **string**.

### **Recuperando Globals como número**

Se o valor do Global for um **número**, não coloque a expressão com Double Braces entre aspas duplas, caso contrário, o número será tratado como uma string.

Por exemplo, suponha que você crie uma Global chamado **global-id** na categoria **ID** e defina seu valor como **1234**.

Para recuperar essa Global como número no conector **JSON Generator (Mock)**, a estrutura da expressão deve ser:

```json
{
	"id": {{global.global-id}}
}
```

A saída será:

```json
{
	"id": 1234
}
```

No entanto, se precisar recuperar o valor como **string**, basta colocar a expressão entre aspas duplas:

```json
{
	"id": "{{global.global-id}}"
}
```

Isso retornará:

```json
{
	"id": "1234"
}
```

## Exemplo de uso

Nesse exemplo, usamos o conector **JSON Generator (Mock)** para modificar os dados de uma pessoa. Aqui, queremos unir as propriedades `primeiroNome` e `sobrenome` em uma única propriedade chamada `nomeCompleto`. Também queremos deletar a propriedade `numeroTelefone` e adicionar uma propriedade chamada `pais`, que sempre assume o valor `“Brasil”`.

### Entrada

```json
{
    “primeiroNome” : “Carlos”,
    “sobrenome” : “Silva”,
    “numeroTelefone” : “+55(11)99999-8888”
}
```

#### Configurações dos parâmetros

Usamos o conector **JSON Generator (Mock)** com a seguinte configuração no parâmetro JSON:

```json
{
    "nomeCompleto" : {{ CONCAT(message.primeiroNome," ", message.sobrenome) }},
    "pais" : "Brasil"
}
```

Aqui, usamos a função [Double Braces CONCAT](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/double-braces/double-braces-functions/string-functions) para concatenar o primeiro nome e o sobrenome, com um espaço entre eles.

### Saída

```json
{
    "nomeCompleto": "Carlos Silva",
    "pais": "Brazil"
}
```
