Nodes/ComfyUI-LLMs-Toolkit/JSON Builder Simple
ComfyUI Node

JSON Builder Simple

One key-value pair, properly quoted

By ComfyUI-Kelin·Created 2 years ago·Updated 4 months ago· 27
JSON Builder Simple
    • json_string
    keykey
    value

    The smallest JSON builder you'll ever see

    LLMs love structured input, and ComfyUI text nodes are just strings. JSON Builder Simple is the pack's answer to "I need a tiny bit of structured data on this wire" - one key and one value, assembled into a proper JSON object. It's the S in the pack's Simple/Medium/Large trio, and its whole job is to save you from hand-typing {"key": "value"} with the right quotes, escaping, and trailing-brace discipline that beginners always botch.

    Is it overkill for one key-value pair? Honestly, sometimes. You could type {"name": "Alice"} directly into a text node. Where it earns its keep is (a) when that value comes from another node's output - the value input accepts a connection, so the JSON gets rebuilt live every run - and (b) when you're feeding a downstream String Template or JSON Combine that expects properly-formed JSON and you don't want to think about quoting.

    How it works

    You give it a key and a value, and it returns a json_string. The detail worth knowing: the value is run through json.loads first, so if you type 42, true, null, or even a nested object, they're stored as native JSON types - not quoted strings. Type {"x": 1} as the value and you get a nested object; type hello and it's a string. That's usually what you want, and it's the difference between this node and a dumb text concatenator.

    Inputs and output

    • key (required, default "key") - the property name. Blank keys get dropped.
    • value (optional) - whatever goes with it. Leave empty and the pair is omitted.
    • Output: json_string - e.g. {"name": "Alice"}, pretty-printed with two-space indent.

    Installing

    Ships with HuangYuChuh/ComfyUI-LLMs-Toolkit, so one install covers it. ComfyUI Manager → search ComfyUI-LLMs-Toolkit → Install, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/HuangYuChuh/ComfyUI-LLMs-Toolkit
    cd ComfyUI-LLMs-Toolkit
    pip install -r requirements.txt
    

    Restart, then it's under 🚦ComfyUI_LLMs_Toolkit/JSON. Dependencies are just Pillow and aiohttp.

    Gotchas

    The one that trips people: empty key or empty value means the pair silently vanishes - you won't get {"": ""}, you'll get {}. If your output is unexpectedly an empty object, that's why. And because values are JSON-parsed, leading/trailing spaces or a stray comma in a typed value can make json.loads fail, in which case the raw string is used as-is - which is fine, but can surprise you when 1.5 stays a number and 01.5 becomes a string. Use the Medium or Large variant when you need more than a single pair.

    Category🚦ComfyUI_LLMs_Toolkit/JSON

    Inputs (2)

    NameTypeDefaultDescription
    keySTRINGkey
    valueoptSTRING

    Outputs (1)

    NameTypeDescription
    json_stringSTRING