Bitbybit Docs
    Preparing search index...

    Class JSONBitByBit

    Ler e alterar valores dentro de dados JSON. Um caminho como $.parts[0].name segue a sintaxe JSONPath: $ é a raiz, .name entra numa propriedade, [0] numa entrada de lista e ..name pesquisa a qualquer profundidade. Os métodos aqui consultam, definem e listam por caminho, trabalham sobre propriedades individuais e pré-visualizam dados através da aplicação; cada alteração vem como uma cópia alterada, a entrada fica como está.

    Index

    Constructors

    create

    • Dá um novo objeto vazio sem propriedades, um ponto de partida para setValueOnProp e setValue.

      Returns any

      Um objeto vazio

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

    jsonpath

    • Encontra todos os valores no JSON a que uma expressão JSONPath corresponde e dá-os como uma lista, mesmo quando há só um.

      $.parts[*].name lista todos os nomes de peças e $..radius todos os raios a qualquer profundidade; os filtros JSONPath entre parênteses retos restringem as correspondências por uma condição.

      Parameters

      • inputs: QueryDto

        O JSON e a expressão JSONPath

      Returns any

      Os valores correspondentes como uma lista

      const names = bitbybit.json.query({ json: model, query: "$.parts[*].name" });
      
    • Define a propriedade prop para value em cada objeto que uma expressão JSONPath alcança, dando uma cópia alterada do JSON.

      path aponta para os objetos pai, prop nomeia a propriedade neles: path: "$.parts[*]", prop: "visible" altera todas as peças. Um valor que não seja um objeto lança um erro.

      Parameters

      • inputs: SetValueDto

        O JSON, o caminho para os objetos pai, o nome da propriedade e o valor

      Returns any

      A cópia alterada

      const hidden = bitbybit.json.setValue({ json: model, path: "$.parts[*]", prop: "visible", value: false });
      
    • Aplica várias alterações setValue de uma vez: a entrada i de paths, props e values é uma alteração, aplicada por ordem a uma cópia do JSON.

      Parameters

      • inputs: SetValuesOnPathsDto

        O JSON e as listas correspondentes de caminhos, nomes de propriedades e valores

      Returns any

      A cópia alterada

      const updated = bitbybit.json.setValuesOnPaths({ json: model, paths: ["$", "$.parts[0]"], props: ["name", "visible"], values: ["Assembly", false] });
      
    • Lista os caminhos de todos os valores a que uma expressão JSONPath corresponde, cada um como um caminho completo a partir da raiz como $['parts'][0]['name'], em vez dos próprios valores.

      Parameters

      • inputs: PathsDto

        O JSON e a expressão JSONPath

      Returns any

      Os caminhos das correspondências, como uma lista de strings

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

    preview

    • Entrega o JSON à aplicação em execução para o mostrar e oferecer guardá-lo como ficheiro; a aplicação decide como a pré-visualização é apresentada, e nada acontece quando o valor está vazio.

      Parameters

      Returns void

      Nada

      bitbybit.json.previewAndSaveJson({ json: model });
      
    • Entrega o JSON à aplicação em execução para o mostrar; a aplicação decide como a pré-visualização é apresentada, e nada acontece quando o valor está vazio.

      Parameters

      Returns void

      Nada

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

    props

    • Define uma propriedade de nível superior de um objeto JSON para um valor, dando uma cópia alterada; a entrada fica como está e uma propriedade que não existia é adicionada.

      Parameters

      Returns any

      A cópia alterada

      const updated = bitbybit.json.setValueOnProp({ json: settings, property: "width", value: 20 });
      
    • Encontra o primeiro objeto numa lista cuja propriedade é igual ao valor dado, comparando com igualdade estrita, e devolve-o; nada que corresponda dá undefined.

      Para qualquer coisa além de uma propriedade, use query com um filtro.

      Parameters

      Returns any

      O primeiro objeto correspondente, ou undefined

      const part = bitbybit.json.getJsonFromArrayByFirstPropMatch({ jsonArray: parts, property: "name", match: "lid" });
      
    • Lê uma propriedade de nível superior de um objeto JSON; uma propriedade em falta dá undefined.

      Parameters

      Returns any

      O valor da propriedade

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

    transform

    • Transforma qualquer valor compatível com JSON no seu texto JSON, numa só linha sem indentação, tal como JSON.stringify faz.

      Parameters

      Returns string

      O texto JSON

      const text = bitbybit.json.stringify({ json: { width: 10, points: [[0, 0, 0], [1, 1, 1]] } });
      
    • Transforma texto JSON no valor que descreve, tal como JSON.parse faz; texto que não seja JSON válido lança um erro.

      Parameters

      Returns any

      O valor analisado

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