Plugin Name: Ultimate JSON Toolkit
Description: A collection of tools for working with JSON data.
Categories: Editor, JSON
Author: Ali Farahat
Company: Balacode.io
Version: 0.0.1
This plugin provides comprehensive JSON manipulation capabilities including editing, transformation, validation, and dot notation operations.
Currently, no standalone client-side actions are defined in this plugin.
Internal ID/Name: compact_json
Description: Removes unnecessary whitespace from JSON data to create a compact representation.
Fields:
json_input(Text): The JSON string to compact Returned Values:json_output(Text): The compacted JSON stringis_error(Boolean): Whether an error occurrederror_message(Text): Error details if any
Internal ID/Name: dot-notation-to-json
Description: Converts dot notation key-value pairs to a JSON object.
Fields:
text_block(Text): Newline-separated key=value pairs in dot notationtext_list(List of texts): Alternative input as a list of key=value pairsnotation_separator(Text): Custom separator for dot notation (default: '.')value_separator(Text): Custom separator for key-value pairs (default: '=') Returned Values:json_output(Text): The resulting JSON stringis_error(Boolean): Whether an error occurrederror_message(Text): Error details if any
Internal ID/Name: extract-from-json
Description: Extracts data from JSON using JSONPath queries.
Fields:
json_data(Text): The JSON string to queryjson_path_query(Text): JSONPath expressionwrap_results(Boolean): Whether to wrap results (default: true)prevent_eval(Boolean): Whether to prevent eval in JSONPath (default: true) Returned Values:result(Text): First matching resultresult_list(List of texts): All matching resultsis_error(Boolean): Whether an error occurrederror_message(Text): Error details if any
Internal ID/Name: json_to_template
Description: Generates template strings from JSON data.
Fields:
json_input(Text): The JSON string to processtemplate_format(Text): Template format specification Returned Values:template_output(Text): The generated templateis_error(Boolean): Whether an error occurrederror_message(Text): Error details if any
Internal ID/Name: json-to-dot-notation
Description: Converts JSON objects to dot notation key-value pairs.
Fields:
json_input(Text): The JSON string to convertnotation_separator(Text): Custom separator for dot notation (default: '.')value_separator(Text): Custom separator for key-value pairs (default: '=') Returned Values:dot_notation_output(Text): The resulting dot notation stringis_error(Boolean): Whether an error occurrederror_message(Text): Error details if any
Internal ID/Name: modify-json-with-dot-notation
Description: Modifies a JSON object by adding/updating and removing keys using dot notation.
Fields:
json(Text): The initial JSON string to modifyadd_update_text_block(Text): Newline-separated key=value pairs for adding/updating keysupdate_only_text_block(Text): Newline-separated key=value pairs for updating EXISTING keys only. Non-existing keys are ignored.remove_text_block(Text): Newline-separated dot notation paths to removenotation_separator(Text): Custom separator for dot notation (default: '.')value_separator(Text): Custom separator for key-value pairs (default: '=') Returned Values:json_output(Text): The modified JSON stringis_error(Boolean): Whether an error occurrederror_message(Text): Error details if any Example Usage:- Add/Update:
user.name=John\nuser.age=30\nuser.active=true - Update Only:
user.name=Jane\nuser.city=New York - Remove:
user.email\nuser.phone
Internal ID/Name: transform_json_schema
Description: Transforms and validates JSON schemas.
Fields:
schema_input(Text): The JSON schema to transformtransformation_rules(Text): Rules for schema transformation Returned Values:schema_output(Text): The transformed schemais_error(Boolean): Whether an error occurrederror_message(Text): Error details if any
Internal ID/Name: json-editor
Description: An interactive JSON editor element with multiple viewing modes and validation capabilities.
Category: Visual Elements
Standard Bubble Properties Utilized:
- Width and Height for sizing
- Visibility conditions
- Margin and padding
Autobinding: Supported - binds to the current JSON content of the editor
Properties (Fields):
initialJson(Text): Initial JSON content to loadmode(Text): Editor mode (tree, code, form, view)theme(Text): Editor themereadOnly(Boolean): Whether the editor is read-onlyshowValidation(Boolean): Whether to show validation errors
Exposed States:
currentJson(Text): Current JSON contentisValid(Boolean): Whether the current JSON is validerrorMessage(Text): Current validation error messagemode(Text): Current editor mode
Events:
jsonChanged: Triggered when JSON content changesvalidationError: Triggered when validation failsmodeChanged: Triggered when editor mode changes
Actions:
setJson: Set the JSON contentsetMode: Change the editor modeformatJson: Format the current JSONvalidateJson: Validate the current JSONexpandAll: Expand all nodes in tree modecollapseAll: Collapse all nodes in tree moderefreshEditor: Refresh the editor displayfocusEditor: Focus the editorrepairJson: Attempt to repair invalid JSONcompactJson: Compact the JSON (remove whitespace)setSchema: Set a JSON schema for validation
For detailed element setup information, refer to elements/json-editor/element-setup.md.