Queries may repeat a name intentionally: tag=sale&tag=new contains two pairs, one unique name and one repeated name. A plain JSON object cannot represent both entries under the same key without inventing an aggregation rule. QueryLens therefore emits an ordered array of row objects. Write down the selected profile and compare the source, decoded rows and canonical query together. That evidence makes a later mismatch reproducible without pretending that this parser defines how every server, framework or signature system will interpret the same bytes.

Source order remains visible

Each row carries a one-based position, decoded name, decoded value and whether the original segment contained an equals sign. Sorting and grouping are deliberately absent. The first and second tag remain distinguishable even when their decoded names match exactly. Keep duplicate names as separate ordered rows until the receiving application states its own policy. Converting early to a plain object can discard values, change their order or hide whether a parameter appeared without an equals sign in the original query.

Ordered JSON avoids silent overwrite

The JSON result is an array such as [{name: tag, value: sale}, {name: tag, value: new}] with valid quoted JSON syntax. This representation is verbose by design: it preserves multiplicity and order instead of keeping only the last value or silently creating arrays for selected names. A successful decode only establishes the text produced by these explicit rules. It does not validate a destination URL, authorize a redirect, verify a signature, detect an attack or prove that another implementation applies identical limits and error handling.

The receiver still chooses semantics

Some receivers take the first value, some the last, some expose a list and others reject duplicates. QueryLens does not declare one policy correct. It preserves evidence so you can compare the destination documentation and tests against the exact ordered source. QueryLens performs the transformation locally and sends no query content to a product backend. Still review copied output before reuse: encoded data can contain identifiers, search terms or other sensitive text, and the destination remains responsible for validation and access control.