Questão de Programação — JSON — VUNESP 2026
- Código
- gp003724
- Banca
- VUNESP
- Órgão
- UNESP
- Ano
- 2026
- Cargo
- V - - Analista de Informática I - Área de Atuação: Desenvolvimento de Sistemas - São Paulo
- A/\
- B\’
- C\t
- D\x
- E\0
GabaritoC — \t
Gabarito: letra C. No formato JSON, a única sequência de escape válida entre as opções é \t, que representa o caractere de tabulação (TAB). As demais alternativas (/\, \’, \x, \0) não são sequências de escape reconhecidas pela especificação JSON (RFC 8259 / ECMA-404).
O JSON (JavaScript Object Notation) é um formato de intercâmbio de dados baseado em texto, definido originalmente por Douglas Crockford e padronizado pela RFC 8259 (que substituiu a RFC 7159) e pela ECMA-404. Dentro de strings JSON, certos caracteres precisam ser representados por sequências de escape, que sempre começam com uma barra invertida (\) seguida de um caractere específico. A especificação define um conjunto fechado de escapes válidos — não é qualquer combinação de \ com um caractere que funciona.
Os escapes válidos em JSON são:
Sequência | Significado |
|---|---|
| aspas duplas |
| barra invertida |
| barra (slash) |
| backspace |
| form feed (quebra de página) |
| newline (quebra de linha) |
| carriage return (retorno de carro) |
| tabulação (TAB) |
| caractere Unicode (4 dígitos hexadecimais) |
Perceba que \t está nessa lista — é exatamente a alternativa C. Já \/ (barra) é válido, mas a alternativa A traz /\ (barra seguida de barra invertida), que não é um escape — na verdade, a barra invertida sozinha não é um caractere válido em JSON a menos que inicie um escape reconhecido. A alternativa B usa aspas simples (\’), que não é um escape em JSON — aspas simples não têm significado especial em strings JSON (apenas aspas duplas delimitam strings). A alternativa D (\x) não existe em JSON — escapes hexadecimais só são permitidos na forma \uXXXX com exatamente 4 dígitos hexadecimais. A alternativa E (\0) também não é válida — JSON não usa escapes octais nem o caractere nulo como escape; para representar o caractere nulo, usaríamos \u0000.
A pegadinha desta questão é que o candidato pode confundir os escapes de JSON com os de outras linguagens, como C, Java ou JavaScript. Por exemplo, em C, \0 é o caractere nulo (terminador de string), e em muitas linguagens \x é usado para escapes hexadecimais (ex.: \x41 para 'A'). Mas JSON tem seu próprio conjunto restrito, e a banca explora exatamente essa confusão. Guarde a lista completa de escapes JSON — é decoreba, mas cai com frequência em provas de programação.
/\ não é uma sequência de escape válida em JSON. A barra invertida (\) deve ser seguida de um dos caracteres da lista oficial (", \\, /, b, f, n, r, t, u). Aqui, a ordem está invertida: primeiro vem a barra normal (/) e depois a barra invertida (\). Mesmo que fosse \/ (barra invertida seguida de barra), isso seria válido, mas a alternativa apresenta /\, que não corresponde a nenhum escape.
\’ (barra invertida seguida de aspas simples) não é um escape válido em JSON. Em JSON, strings são delimitadas exclusivamente por aspas duplas ("), e o escape para aspas duplas é \". Aspas simples não têm função especial em JSON — elas são apenas caracteres comuns dentro de uma string. Portanto, \’ não é reconhecido como escape.
\t é a sequência de escape que representa o caractere de tabulação (TAB). É um dos escapes definidos pela especificação JSON (RFC 8259, seção 7: "The ABNF in this specification allows the string to contain zero or more Unicode characters..."). Na prática, ao escrever "\t" em um arquivo JSON, o parser interpreta como o caractere TAB (código Unicode U+0009). É exatamente o que a alternativa pede: uma sequência de escape válida usada dentro de strings.
\x não é uma sequência de escape válida em JSON. Embora muitas linguagens (como C e Python) usem \x para escapes hexadecimais (ex.: \x41 = 'A'), o JSON não adota essa sintaxe. Para representar caracteres Unicode, JSON usa exclusivamente \u seguido de exatamente 4 dígitos hexadecimais (ex.: \u0041 para 'A'). Portanto, \x é inválido.
\0 não é uma sequência de escape válida em JSON. Em linguagens como C, \0 representa o caractere nulo (terminador de string), mas JSON não possui esse escape. Para representar o caractere nulo (U+0000), seria necessário usar \u0000. A especificação JSON não inclui escapes octais nem o \0.
A banca mistura escapes de JSON com escapes de outras linguagens. \0 (C), \x (C/Python) e \’ (JavaScript, embora desnecessário) são válidos em outros contextos, mas não em JSON. O candidato que conhece C ou Java pode marcar \0 ou \x por associação. Lembre-se: JSON só aceita os 9 escapes da tabela acima — nada além disso.
Para não errar, decore a lista de escapes JSON como se fosse um mnemônico: "b f n r t / \" u" — backspace, form feed, newline, carriage return, tab, barra, aspas duplas, barra invertida e Unicode. Na prova, elimine qualquer alternativa que fuja desse conjunto.
Gabarito: letra C
Link permanente: /questoes/gp003724