Bitbybit Docs
    Preparing search index...

    Class JSONBitByBit

    Leer y cambiar valores dentro de datos JSON. Una ruta como $.parts[0].name sigue la sintaxis JSONPath: $ es la raíz, .name entra en una propiedad, [0] en una entrada de lista y ..name busca a cualquier profundidad. Los métodos de aquí consultan, establecen y enumeran por ruta, trabajan sobre propiedades individuales y previsualizan datos a través de la aplicación; cada cambio vuelve como una copia modificada, la entrada se queda como está.

    Index

    Constructors

    create

    • Da un objeto vacío nuevo sin propiedades, un punto de partida para setValueOnProp y setValue.

      Returns any

      Un objeto vacío

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

    jsonpath

    • Encuentra cada valor del JSON con el que coincide una expresión JSONPath y los da como lista, incluso cuando solo hay uno.

      $.parts[*].name lista todos los nombres de pieza y $..radius cada radio a cualquier profundidad; los filtros JSONPath entre corchetes acotan las coincidencias mediante una condición.

      Parameters

      • inputs: QueryDto

        El JSON y la expresión JSONPath

      Returns any

      Los valores coincidentes como lista

      const names = bitbybit.json.query({ json: model, query: "$.parts[*].name" });
      
    • Establece la propiedad prop a value en cada objeto que alcanza una expresión JSONPath, dando una copia cambiada del JSON.

      path apunta a los objetos padre, prop nombra la propiedad en ellos: path: "$.parts[*]", prop: "visible" cambia cada pieza. Un valor que no es un objeto lanza un error.

      Parameters

      • inputs: SetValueDto

        El JSON, la ruta a los objetos padre, el nombre de la propiedad y el valor

      Returns any

      La copia modificada

      const hidden = bitbybit.json.setValue({ json: model, path: "$.parts[*]", prop: "visible", value: false });
      
    • Aplica varios cambios de setValue de una vez: la entrada i de paths, props y values es un cambio, aplicado en orden a una copia del JSON.

      Parameters

      • inputs: SetValuesOnPathsDto

        El JSON y las listas correspondientes de rutas, nombres de propiedad y valores

      Returns any

      La copia modificada

      const updated = bitbybit.json.setValuesOnPaths({ json: model, paths: ["$", "$.parts[0]"], props: ["name", "visible"], values: ["Assembly", false] });
      
    • Lista las rutas de cada valor con el que coincide una expresión JSONPath, cada una como ruta completa desde la raíz como $['parts'][0]['name'], en lugar de los valores en sí.

      Parameters

      • inputs: PathsDto

        El JSON y la expresión JSONPath

      Returns any

      Las rutas de las coincidencias, como lista de cadenas

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

    preview

    • Entrega el JSON a la aplicación en ejecución para que lo muestre y ofrezca guardarlo como archivo; la aplicación decide cómo se ve la vista previa, y no ocurre nada cuando el valor está vacío.

      Parameters

      • inputs: JsonDto

        El JSON que mostrar

      Returns void

      Nada

      bitbybit.json.previewAndSaveJson({ json: model });
      
    • Entrega el JSON a la aplicación en ejecución para que lo muestre; la aplicación decide cómo se ve la vista previa, y no ocurre nada cuando el valor está vacío.

      Parameters

      • inputs: JsonDto

        El JSON que mostrar

      Returns void

      Nada

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

    props

    • Establece una propiedad de nivel superior de un objeto JSON a un valor, dando una copia cambiada; la entrada se queda como está y una propiedad que no existía se añade.

      Parameters

      Returns any

      La copia modificada

      const updated = bitbybit.json.setValueOnProp({ json: settings, property: "width", value: 20 });
      
    • Encuentra el primer objeto de una lista cuya propiedad es igual al valor dado, comparando con igualdad estricta, y lo devuelve; si nada coincide da undefined.

      Para cualquier cosa más allá de una propiedad, usa query con un filtro.

      Parameters

      Returns any

      El primer objeto coincidente, o undefined

      const part = bitbybit.json.getJsonFromArrayByFirstPropMatch({ jsonArray: parts, property: "name", match: "lid" });
      
    • Lee una propiedad de nivel superior de un objeto JSON; una propiedad que falta da undefined.

      Parameters

      Returns any

      El valor de la propiedad

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

    transform

    • Convierte cualquier valor compatible con JSON en su texto JSON, en una sola línea sin sangría, como hace JSON.stringify.

      Parameters

      Returns string

      El texto JSON

      const text = bitbybit.json.stringify({ json: { width: 10, points: [[0, 0, 0], [1, 1, 1]] } });
      
    • Convierte texto JSON en el valor que describe, como hace JSON.parse; el texto que no es JSON válido lanza un error.

      Parameters

      Returns any

      El valor analizado

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