Récupération de valeurs d'objet JSON imbriqué

Beginner

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

Introduction

Dans ce laboratoire, nous allons explorer la manière de récupérer des valeurs imbriquées à partir d'un objet JSON en fonction d'un tableau de clés. Nous utiliserons la méthode reduce() pour parcourir la structure imbriquée de l'objet et récupérer la valeur cible. À la fin de ce laboratoire, vous aurez une meilleure compréhension de la manière d'accéder à des valeurs spécifiques dans un objet JSON complexe.

Comment récupérer une valeur imbriquée dans un objet à l'aide d'un tableau de clés

Pour récupérer une valeur spécifique à partir d'un objet JSON imbriqué, vous pouvez utiliser la fonction deepGet. Cette fonction prend en entrée un objet et un tableau de clés, et renvoie la valeur cible si elle existe dans l'objet.

Pour utiliser la fonction deepGet :

  • Créez un tableau des clés que vous souhaitez récupérer à partir de l'objet JSON imbriqué.
  • Appelez la fonction deepGet avec l'objet et le tableau de clés.
  • La fonction renverra la valeur cible si elle existe, ou null si elle n'existe pas.

Voici le code de la fonction deepGet :

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

Et voici un exemple de manière d'utiliser la fonction deepGet :

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

Pour commencer à pratiquer la programmation, ouvrez le Terminal/SSH et tapez node.

Sommaire

Félicitations ! Vous avez terminé le laboratoire Récupérer une valeur imbriquée dans un objet en fonction d'un tableau de clés. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.