Bitbybit Docs
    Preparing search index...

    Class JSONBitByBit

    Lire et modifier des valeurs dans des données JSON. Un chemin tel que $.parts[0].name suit la syntaxe JSONPath : $ est la racine, .name entre dans une propriété, [0] dans une entrée de liste et ..name cherche à toute profondeur. Les méthodes ici interrogent, définissent et listent par chemin, travaillent sur des propriétés individuelles et prévisualisent des données à travers l'application ; chaque modification revient sous forme de copie modifiée, l'entrée reste telle quelle.

    Index

    Constructors

    create

    • Donne un nouvel objet vide sans propriétés, un point de départ pour setValueOnProp et setValue.

      Returns any

      Un objet vide

      const settings = bitbybit.json.createEmpty();
      const withWidth = bitbybit.json.setValueOnProp({ json: settings, property: "width", value: 10 });

    jsonpath

    • Trouve chaque valeur du JSON à laquelle une expression JSONPath correspond et les donne sous forme de liste, même quand il n'y en a qu'une.

      $.parts[*].name liste tous les noms de pièces et $..radius chaque rayon à n'importe quelle profondeur ; les filtres JSONPath entre crochets restreignent les correspondances par une condition.

      Parameters

      • inputs: QueryDto

        Le JSON et l'expression JSONPath

      Returns any

      Les valeurs correspondantes sous forme de liste

      const names = bitbybit.json.query({ json: model, query: "$.parts[*].name" });
      
    • Définit la propriété prop à value sur chaque objet qu'une expression JSONPath atteint, donnant une copie modifiée du JSON.

      path pointe vers les objets parents, prop nomme la propriété sur eux : path: "$.parts[*]", prop: "visible" change chaque pièce. Une valeur qui n'est pas un objet lève une erreur.

      Parameters

      • inputs: SetValueDto

        Le JSON, le chemin vers les objets parents, le nom de la propriété et la valeur

      Returns any

      La copie modifiée

      const hidden = bitbybit.json.setValue({ json: model, path: "$.parts[*]", prop: "visible", value: false });
      
    • Applique plusieurs modifications setValue d'un coup : l'entrée i de paths, props et values est une modification, appliquée dans l'ordre à une copie du JSON.

      Parameters

      • inputs: SetValuesOnPathsDto

        Le JSON et les listes correspondantes de chemins, de noms de propriétés et de valeurs

      Returns any

      La copie modifiée

      const updated = bitbybit.json.setValuesOnPaths({ json: model, paths: ["$", "$.parts[0]"], props: ["name", "visible"], values: ["Assembly", false] });
      
    • Liste les chemins de chaque valeur à laquelle une expression JSONPath correspond, chacun sous forme de chemin complet depuis la racine comme $['parts'][0]['name'], au lieu des valeurs elles-mêmes.

      Parameters

      • inputs: PathsDto

        Le JSON et l'expression JSONPath

      Returns any

      Les chemins des correspondances, sous forme de liste de chaînes

      const where = bitbybit.json.paths({ json: model, query: "$..radius" });
      

    preview

    • Confie le JSON à l'application en cours pour l'afficher et proposer de l'enregistrer dans un fichier ; l'application décide de l'aspect de l'aperçu, et rien ne se passe quand la valeur est vide.

      Parameters

      • inputs: JsonDto

        Le JSON à afficher

      Returns void

      Rien

      bitbybit.json.previewAndSaveJson({ json: model });
      
    • Confie le JSON à l'application en cours pour l'afficher ; l'application décide de l'aspect de l'aperçu, et rien ne se passe quand la valeur est vide.

      Parameters

      • inputs: JsonDto

        Le JSON à afficher

      Returns void

      Rien

      bitbybit.json.previewJson({ json: model });
      

    props

    • Définit une propriété de premier niveau d'un objet JSON à une valeur, donnant une copie modifiée ; l'entrée reste telle quelle et une propriété qui n'existait pas est ajoutée.

      Parameters

      Returns any

      La copie modifiée

      const updated = bitbybit.json.setValueOnProp({ json: settings, property: "width", value: 20 });
      
    • Trouve le premier objet d'une liste dont la propriété est égale à la valeur donnée, en comparant par égalité stricte, et le renvoie ; aucune correspondance donne undefined.

      Pour tout ce qui va au-delà d'une seule propriété, utilisez query avec un filtre.

      Parameters

      Returns any

      Le premier objet correspondant, ou undefined

      const part = bitbybit.json.getJsonFromArrayByFirstPropMatch({ jsonArray: parts, property: "name", match: "lid" });
      
    • Lit une propriété de premier niveau d'un objet JSON ; une propriété absente donne undefined.

      Parameters

      Returns any

      La valeur de la propriété

      const width = bitbybit.json.getValueOnProp({ json: settings, property: "width" });
      

    transform

    • Transforme n'importe quelle valeur compatible JSON en son texte JSON, sur une seule ligne sans indentation, comme le fait JSON.stringify.

      Parameters

      • inputs: StringifyDto

        La valeur à écrire sous forme de texte

      Returns string

      Le texte JSON

      const text = bitbybit.json.stringify({ json: { width: 10, points: [[0, 0, 0], [1, 1, 1]] } });
      
    • Transforme un texte JSON en la valeur qu'il décrit, comme le fait JSON.parse ; un texte qui n'est pas du JSON valide lève une erreur.

      Parameters

      Returns any

      La valeur analysée

      const points = bitbybit.json.parse({ text: "[[0, 0, 0], [1, 1, 1]]" });