Matheus Calegaro

(mais um) Blog sobre desenvolvimento e outras bobeiras.

Acessando chave de JSON com caracteres especiais

Esses dias eu estava fazendo uma aplicação que precisava consumir o JSON de uma API pública e exibir nos dados em uma página. Até aí nada de mais, o código é auto-explicativo (usando ES6 porque sou diferentão):

const resourceUrl = `https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=${user}&api_key=${apiKey}&format=json`;

const $result = $('#result');

$.getJSON(resourceUrl, (response) => {
    $.each(response.recenttracks.track, (key, track) => {
        $result.append(`<li>${track.name} - ${track.artist.#title}</li>`);
    });
});

Tudo aparentemente certo, a não ser por causa da chave track.artist.#name, que possui um caracter especial (#) e que vai gerar um erro nem um pouco legal.

Para contornar esta situação, basta acessar a chave utilizando a sintaxe de colchetes (Brackets Syntax), ficando track.artist['#title'].

E o código volta a funcionar como deveria :)

Comentários