Recuperação de Valor de Objeto JSON Aninhado

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, exploraremos como recuperar valores aninhados de um objeto JSON com base em um array de chaves. Usaremos o método reduce() para percorrer a estrutura aninhada do objeto e recuperar o valor alvo. Ao final deste laboratório, você terá uma melhor compreensão de como acessar valores específicos dentro de um objeto JSON complexo.

Como Recuperar um Valor Aninhado em um Objeto Usando um Array de Chaves

Para recuperar um valor específico de um objeto JSON aninhado, você pode usar a função deepGet. Esta função recebe um objeto e um array de chaves e retorna o valor alvo se ele existir no objeto.

Para usar a função deepGet:

  • Crie um array das chaves que você deseja recuperar do objeto JSON aninhado.
  • Chame a função deepGet com o objeto e o array de chaves.
  • A função retornará o valor alvo se ele existir, ou null se não existir.

Aqui está o código para a função deepGet:

const deepGet = (obj, keys) =>
  keys.reduce(
    (xs, x) => (xs && xs[x] !== null && xs[x] !== undefined ? xs[x] : null),
    obj
  );

E aqui está um exemplo de como usar a função deepGet:

let index = 2;
const data = {
  foo: {
    foz: [1, 2, 3],
    bar: {
      baz: ["a", "b", "c"]
    }
  }
};
deepGet(data, ["foo", "foz", index]); // returns 3
deepGet(data, ["foo", "bar", "baz", 8, "foz"]); // returns null

Para começar a praticar a codificação, abra o Terminal/SSH e digite node.

Resumo

Parabéns! Você concluiu o laboratório "Obter Valor Aninhado em Objeto com Base em Array de Chaves". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.