JSON Path & Dot Notation Finder (Make.com & n8n Extractor)

Free JSON Path & Dot Notation Finder Tool

1. Paste Raw JSON Payload Ready

Valid JSON is required to build the tree.

2. Click a Value to Get Path
Generated Dot Notation Path
Click a key above…

If you are building API integrations and webhooks, you already know the pain of nested data. When a massive payload arrives from Shopify, Stripe, or WooCommerce, it can contain thousands of lines of data nested across 6 different levels.

If you guess the path wrong in your automation builder, your variables will return empty, and your CRM will fill up with blank fields. Paste your raw JSON webhook into our visual extractor above, click the exact data point you want, and instantly copy the correct Dot Notation path required for Make.com, n8n, and custom Node.js scripts.

What is JSON Dot Notation?

JSON (JavaScript Object Notation) is the standard language of B2B APIs. It stores data in key-value pairs (like "email": "jane@example.com").

When you need to extract that email address dynamically inside an automation tool, you cannot just tell the tool to look for “email.” The payload might contain the customer’s email, the shipping company’s email, and the billing contact’s email.

Dot notation is the exact roadmap your script follows to find the specific data. It tells the computer: Go inside the Order object, then go inside the Customer object, then grab the Email.

  • The Path: order.customer.email

How to Extract Data from JSON Arrays (Handling the [0] Index)

The most common mapping error Ops Engineers make is trying to use a dot (.) to enter an array.

In JSON, there is a massive difference between an Object { } and an Array [ ]. An object holds named keys. An array holds a list of items, which don’t have names—they have numbered positions (indexes).

Look at this payload:

Json
{
  "customer": "Jane Doe",
  "line_items": [
    { "sku": "A1", "price": 40 },
    { "sku": "B2", "price": 15 }
  ]
}

If you want to extract the SKU of the very first item Jane bought, the path line_items.sku will fail. Because line_items is a list (array), you must tell the computer which item in the list to look at. In programming, lists start counting at zero.

  • Correct Path: line_items[0].sku
  • (Our tool above automatically detects arrays and injects the exact bracket notation for you).

Why Your Make.com Module Says “Missing Value”

Make.com (formerly Integromat) uses a highly visual mapping interface. However, when you connect a webhook module to a router, Make often struggles to interpret deeply nested arrays automatically.

If you try to map a value and Make returns a blank space or a “Missing Value” error during runtime, it means the structure of the JSON changed slightly, or you mapped an array without an iterator.

Using the get() Function in Make vs. $json in n8n

If your target path is dynamic, or sometimes doesn’t exist in the webhook payload, you need to extract the data safely without crashing the workflow.

In Make.com: Instead of directly mapping the pink bubble, use Make’s native get() formula. You can paste the path generated from our tool directly into the formula:

  • {{ get(1.body; "order.customer.email") }}
  • Bonus: If the email doesn’t exist, this function just returns null instead of throwing a hard error.

In n8n: n8n uses standard JavaScript notation inside its expression editor. To extract the data, prepend $json. to the path you copied from our tool:

  • {{ $json.order.customer.email }}

Tired of building complex arrays and iterators from scratch? Stop fighting nested JSON. Download our library of pre-built webhook catchers and iterators for Make.com and n8n that automatically flatten nested Shopify and Stripe data.