JSONPath / provenance / handoff guide
Hand off JSONPath results with path, null, and missing state
A path identifies a source location, null is a present value, and missing is absence. Keep multiple matches separate and mark unavailable provenance as unknown.
Keep path and array position
A path such as $.users[2].name includes the original array index. Do not share only the extracted value; the same value can appear at another path. Record line or column only when the source tool supplied it.
path: $.users[2].name
value: "Aki"
array_index: 2
provenance: path only; source line unknown
| Boundary | What to check |
|---|
| path/index | Keep the root path and array index; extraction order is not source position. |
| null | If the key exists with null, record present-null. |
| missing | If the key does not exist, record missing instead of null. |
| multiple results | Keep each match as its own path/value result. |
Never fabricate provenance
JSONPath output alone cannot reveal a source file line or column. Mark positions the source did not provide as unknown; do not fill them by guesswork.
The existing JSONPath tool runs locally. This guide fixes handoff report fields and never sends input JSON externally.
Open the existing JSONPath tool
Review cases
| case | outcome | check |
|---|
array-index | path-with-index | Include the array index in the path. |
explicit-null | present-null | Separate null from a missing key. |
missing-property | missing | Do not turn absent keys into null. |
multiple-results | separate-results | Keep each path and value separately. |
source-provenance-absent | provenance-unknown | Do not guess line or column. |
unsupported-upload | reject | Return uploads or unclear positions. |
Do not send input
Do not paste production JSON, tokens, or personal data. Use harmless fixtures and share provenance only when supplied by the source tool.