Mạng/HTTP
Query String ↔ JSON
Phân tách query string của URL thành đối tượng JSON, hoặc dựng lại JSON thành query string.
A URL's query string (the part after ?) is a flat set of key-value pairs, while JSON supports nested structures and data types. This tool converts between the two, including repeated keys and arrays.
How to use it
- Query → JSON: paste a query string (with or without the leading ?) to get a JSON object with decoded parameter values.
- JSON → Query: paste a JSON object to build a query string from it with correctly URL-encoded values.
- Repeated keys (a=1&a=2) are automatically recognized as an array in the JSON output.
Common uses
- Building query parameters from a JSON configuration object for an API request.
- Reading a complex query string with dozens of parameters in a structured, readable form.
- Debugging why a parameter isn't reaching the backend — checking its encoding and structure after conversion.
Things to keep in mind
Every value in a query string is text — "true", "false", or "42" stay strings in the JSON until code explicitly converts them to the right type.
Nested objects and arrays have no single standard query-string notation — different backend frameworks (PHP, Rails, Express) use slightly different syntax (a[b]=1 vs a.b=1).
Bài viết về công cụ này: Query String so với JSON: vì sao tham số GET lại hạn chế đến vậy
Câu hỏi thường gặp
Công cụ này xử lý tên tham số lặp lại như ?tag=a&tag=b thế nào?
Các khóa lặp lại thường được gom vào một mảng (tag: ["a", "b"]) thay vì ghi đè lên nhau, khớp với cách hầu hết framework backend phân tích query string.
Điều gì xảy ra với ký tự đặc biệt trong quá trình chuyển đổi?
Các ký tự mã hóa phần trăm (như %20 cho khoảng trắng) được giải mã về dạng ký tự gốc khi chuyển sang JSON, và mã hóa lại khi chuyển JSON về query string.
URL hay dữ liệu của tôi có được gửi đi đâu để thực hiện chuyển đổi này không?
Không. Việc chuyển đổi diễn ra hoàn toàn trong trình duyệt của bạn — không có gì được gửi tới máy chủ.
Độ dài tối đa an toàn cho một URL là bao nhiêu?
Khoảng 2000 ký tự — giới hạn chung thận trọng nhất giữa các trình duyệt và server phổ biến. Với khối lượng dữ liệu lớn hơn, tốt hơn nên dùng request POST có body thay vì query string.
Làm sao để truyền giá trị true/false hoặc số qua query string?
Query string luôn chỉ lưu văn bản — các giá trị như "false" hay "42" vẫn là chuỗi cho đến khi code phía server hoặc client nhận diện rõ ràng và chuyển đổi chúng thành boolean hoặc số.