Bitbybit Docs
    Preparing search index...

    Class JSONBitByBit

    Чтение и изменение значений внутри данных JSON. Путь, такой как $.parts[0].name, следует синтаксису JSONPath: $ - корень, .name входит в свойство, [0] в элемент списка, а ..name ищет на любой глубине. Методы здесь запрашивают, устанавливают и перечисляют по пути, работают с отдельными свойствами и показывают данные через приложение; каждое изменение возвращается как измененная копия, вход остается как есть.

    Index

    Constructors

    create

    • Дает новый пустой объект без свойств, отправную точку для setValueOnProp и setValue.

      Returns any

      Пустой объект

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

    jsonpath

    • Находит каждое значение в JSON, с которым совпадает выражение JSONPath, и дает их списком, даже когда оно только одно.

      $.parts[*].name перечисляет все имена деталей, а $..radius - каждый радиус на любой глубине; фильтры JSONPath в квадратных скобках сужают совпадения условием.

      Parameters

      • inputs: QueryDto

        JSON и выражение JSONPath

      Returns any

      Подходящие значения как список

      const names = bitbybit.json.query({ json: model, query: "$.parts[*].name" });
      
    • Устанавливает свойство prop в value у каждого объекта, до которого доходит выражение JSONPath, давая измененную копию JSON.

      path указывает на родительские объекты, prop называет свойство у них: path: "$.parts[*]", prop: "visible" меняет каждую деталь. Значение, не являющееся объектом, выбрасывает ошибку.

      Parameters

      • inputs: SetValueDto

        JSON, путь к родительским объектам, имя свойства и значение

      Returns any

      Измененная копия

      const hidden = bitbybit.json.setValue({ json: model, path: "$.parts[*]", prop: "visible", value: false });
      
    • Применяет несколько изменений setValue за один раз: запись i в paths, props и values - одно изменение, применяемое по порядку к копии JSON.

      Parameters

      • inputs: SetValuesOnPathsDto

        JSON и соответствующие друг другу списки путей, имен свойств и значений

      Returns any

      Измененная копия

      const updated = bitbybit.json.setValuesOnPaths({ json: model, paths: ["$", "$.parts[0]"], props: ["name", "visible"], values: ["Assembly", false] });
      
    • Перечисляет пути каждого значения, с которым совпадает выражение JSONPath, каждый как полный путь от корня, например $['parts'][0]['name'], вместо самих значений.

      Parameters

      • inputs: PathsDto

        JSON и выражение JSONPath

      Returns any

      Пути совпадений как список строк

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

    preview

    • Передает JSON запущенному приложению, чтобы показать его и предложить сохранить как файл; приложение решает, как выглядит предпросмотр, и ничего не происходит, когда значение пусто.

      Parameters

      • inputs: JsonDto

        JSON для показа

      Returns void

      Ничего

      bitbybit.json.previewAndSaveJson({ json: model });
      
    • Передает JSON запущенному приложению, чтобы показать его; приложение решает, как выглядит предпросмотр, и ничего не происходит, когда значение пусто.

      Parameters

      • inputs: JsonDto

        JSON для показа

      Returns void

      Ничего

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

    props

    • Устанавливает одно свойство верхнего уровня объекта JSON в значение, давая измененную копию; вход остается как есть, а не существовавшее свойство добавляется.

      Parameters

      • inputs: SetValueOnPropDto

        Объект JSON, имя свойства и значение

      Returns any

      Измененная копия

      const updated = bitbybit.json.setValueOnProp({ json: settings, property: "width", value: 20 });
      
    • Находит первый объект в списке, свойство которого равно заданному значению, сравнивая строгим равенством, и возвращает его; отсутствие совпадения дает undefined.

      Для чего-либо сложнее одного свойства используйте query с фильтром.

      Parameters

      Returns any

      Первый подходящий объект или undefined

      const part = bitbybit.json.getJsonFromArrayByFirstPropMatch({ jsonArray: parts, property: "name", match: "lid" });
      
    • Читает одно свойство верхнего уровня объекта JSON; отсутствующее свойство дает undefined.

      Parameters

      Returns any

      Значение свойства

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

    transform

    • Превращает любое совместимое с JSON значение в его текст JSON, в одну строку без отступов, как это делает JSON.stringify.

      Parameters

      • inputs: StringifyDto

        Значение, которое нужно записать как текст

      Returns string

      Текст JSON

      const text = bitbybit.json.stringify({ json: { width: 10, points: [[0, 0, 0], [1, 1, 1]] } });
      
    • Превращает текст JSON в значение, которое он описывает, как это делает JSON.parse; текст, не являющийся корректным JSON, выбрасывает ошибку.

      Parameters

      Returns any

      Разобранное значение

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