เครือข่าย/HTTP

Query String ↔ JSON

แยก query string ของ URL เป็นอ็อบเจ็กต์ JSON หรือประกอบ JSON กลับเป็น 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).

บทความเกี่ยวกับเครื่องมือนี้: คิวรีสตริงกับ JSON: อะไรเหมาะกว่าสำหรับส่งข้อมูลที่ซับซ้อน

คำถามที่พบบ่อย

เครื่องมือนี้จัดการชื่อพารามิเตอร์ที่ซ้ำกันอย่าง ?tag=a&tag=b อย่างไร?

คีย์ที่ซ้ำกันมักถูกรวบรวมเป็นอาร์เรย์ (tag: ["a", "b"]) แทนที่จะเขียนทับกัน ซึ่งตรงกับวิธีที่เฟรมเวิร์กแบ็กเอนด์ส่วนใหญ่แยกวิเคราะห์ query string

เกิดอะไรขึ้นกับอักขระพิเศษระหว่างการแปลง?

อักขระที่เข้ารหัสแบบเปอร์เซ็นต์ (เช่น %20 สำหรับช่องว่าง) จะถูกถอดรหัสกลับเป็นรูปแบบตัวอักษรจริงเมื่อแปลงเป็น JSON และเข้ารหัสใหม่เมื่อแปลง JSON กลับเป็น query string

URL หรือข้อมูลของฉันถูกส่งไปที่ไหนเพื่อทำการแปลงนี้หรือไม่?

ไม่ การแปลงทั้งหมดทำงานในเบราว์เซอร์ของคุณ ไม่มีการส่งไปยังเซิร์ฟเวอร์

ความยาวสูงสุดที่ปลอดภัยของ URL คือเท่าไร?

ประมาณ 2,000 อักขระ — ขีดจำกัดร่วมที่ระมัดระวังที่สุดระหว่างเบราว์เซอร์และเซิร์ฟเวอร์ยอดนิยม สำหรับข้อมูลจำนวนมากกว่านี้ ควรใช้คำขอ POST พร้อม body แทนคิวรีสตริง

จะส่งค่า true/false หรือตัวเลขผ่านคิวรีสตริงได้อย่างไร?

คิวรีสตริงจะเก็บเป็นข้อความเสมอ — ค่าอย่าง "false" หรือ "42" ยังคงเป็นสตริงจนกว่าโค้ดฝั่งเซิร์ฟเวอร์หรือไคลเอนต์จะรู้จำอย่างชัดเจนและแปลงเป็นบูลีนหรือตัวเลข

บทความ: เครือข่าย/HTTP

การแยกส่วน URL: ที่อยู่เว็บประกอบด้วยส่วนใดบ้าง

ส่วนแฟรกเมนต์ของ URL (หลัง #) ไม่เคยถูกส่งไปยังเซิร์ฟเวอร์เลย มีแต่เบราว์เซอร์เท่านั้นที่ประมวลผล

User-Agent: เหตุใด Chrome ถึงมีคำว่า "Mozilla" และ "Safari"

เหตุใด User-Agent ของ Chrome จึงอ้างตัวว่าเป็น "Mozilla" และ "Safari" ทั้งที่ไม่ใช่

HTTP Basic Auth: เฮดเดอร์ Authorization ถูกสร้างขึ้นอย่างไร

Base64 ไม่ใช่การเข้ารหัส — รหัสผ่านของ Basic Auth สามารถถูกถอดรหัสได้ในไม่กี่วินาที

HTTP Headers: เมทาดาต้าที่มาพร้อมกับทุกคำขอและการตอบกลับ

เฮดเดอร์ Content-Type บอกเบราว์เซอร์อย่างไรว่าจะจัดการการตอบกลับเป็น HTML, JSON หรือรูปภาพ

คุกกี้: เหตุใดแอตทริบิวต์ Secure, HttpOnly และ SameSite จึงสำคัญ

เหตุใดแอตทริบิวต์ HttpOnly จึงช่วยป้องกันไม่ให้คุกกี้เซสชันถูกขโมยในการโจมตี XSS

ข้อผิดพลาด CORS: เหตุใดเบราว์เซอร์จึงบล็อกการตอบกลับ

เหตุใดคำขอที่ใช้งานได้ใน Postman จึงเกิดข้อผิดพลาด CORS ในเบราว์เซอร์

Email Headers: SPF, DKIM และ DMARC ตรวจสอบผู้ส่งจริงอย่างไร

เหตุใดต้องอ่านเฮดเดอร์ Received จากล่างขึ้นบนเพื่อติดตามเส้นทางจริงของอีเมล