Skip to content
kitty/binDev
Your JSON stays on this device

Test JSONPath as you type

Paste JSON, write an expression like $..book[?(@.price < 10)].title and see every match and its path instantly. Nothing leaves your browser.

    What the validator checks

    The core keywords from JSON Schema draft 2020-12 and draft 07: type, properties, required, additionalProperties, patternProperties, items and prefixItems, enum, const, number and length limits, pattern, uniqueItems, contains, oneOf, anyOf, allOf, not, if/then/else, and $ref to local definitions such as #/$defs/address. Formats checked are email, uri, date, time, date-time, uuid, ipv4, ipv6 and hostname. Every problem is listed with its path, like $.items[2].price, so you can find it fast.

    JSONPath in short

    $ is the root, .name picks a key, ..name searches at any depth, * matches everything, [0] and [-1] pick by position and [0:3] takes a slice. Filters such as [?(@.price < 10)] keep items that pass a test; you can compare with ==, !=, <, >, match a regular expression with =~ /text/i, check that a key exists with [?(@.isbn)], and combine tests with && and ||.

    Realistic mock data

    Paste a schema to get records that pass it, with numbers inside your minimum and maximum, strings that fit their length, pattern and format, and values picked from each enum. Paste a sample record instead and its shape is copied. Field names guide the values, so email, first_name, city, price, created_at and is_active get believable content, and emails match the names in the same record.

    more in the bin

    Keep going.

    More in kittybin Dev

    Explore the bin