Sieć/HTTP

Query String ↔ JSON

Rozbij query string z URL na obiekt JSON albo złóż JSON z powrotem w 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

Common uses

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).

Artykuł o tym narzędziu: Query String kontra JSON: dlaczego parametry GET są tak ograniczone

Najczęstsze pytania

Jak to narzędzie obsługuje powtarzające się nazwy parametrów, takie jak ?tag=a&tag=b?

Powtarzające się klucze są zazwyczaj zbierane do tablicy (tag: ["a", "b"]), zamiast się nawzajem nadpisywać, zgodnie z tym, jak większość frameworków backendowych analizuje query stringi.

Co dzieje się ze znakami specjalnymi podczas konwersji?

Znaki zakodowane procentowo (jak %20 dla spacji) są dekodowane z powrotem do formy dosłownej przy konwersji na JSON, i ponownie kodowane przy konwersji JSON z powrotem na query string.

Czy mój URL lub dane są gdzieś wysyłane, aby wykonać tę konwersję?

Nie. Konwersja odbywa się całkowicie w Twojej przeglądarce — nic nie jest wysyłane na serwer.

Jaka jest maksymalna bezpieczna długość adresu URL?

Około 2000 znaków — najbardziej ostrożny wspólny limit spośród popularnych przeglądarek i serwerów. Dla większych ilości danych lepiej użyć żądania POST z ciałem zamiast query string.

Jak przekazać wartość true/false lub liczbę przez query string?

Query string zawsze przechowuje wyłącznie tekst — wartości takie jak "false" czy "42" pozostają ciągami znaków, dopóki kod serwera lub klienta jawnie ich nie rozpozna i nie przekonwertuje na wartość logiczną lub liczbę.

Artykuły: Sieć/HTTP