JSON Flattener (แปลง JSON เป็นคีย์แบนและย้อนกลับ)
แปลง JSON ซ้อนกันเป็น flat keys แบบ dot, underscore หรือ bracket และแปลง flat key-value กลับเป็น JSON ฟรี เป็นส่วนตัว ทำงานในเบราว์เซอร์ทั้งหมด
Loading tool...
JSON Flattener (แปลง JSON เป็นคีย์แบนและย้อนกลับ) คืออะไร?
JSON Flattener เป็นเครื่องมือฟรีในเบราว์เซอร์ที่แปลง nested JSON objects เป็น flat key-value และย้อนกลับ เลือกรูปแบบตัวคั่น (dot, underscore, slash, bracket หรือ custom) ให้ตรงกับระบบปลายทางของคุณ — env vars, ฟิลด์ MongoDB, structured logs หรือไฟล์ config — แล้วคัดลอกผลลัพธ์ได้ทันที
ประโยชน์หลัก
- แปลง API response ที่ซ้อนกันเป็น flat keys สไตล์ env-var ได้รวดเร็ว
- สร้าง nested JSON กลับจาก flat key-value โดยไม่ต้องเขียนสคริปต์
- ตรวจสอบข้อมูลที่ซ้อนลึกด้วย flat key paths และชนิดที่อนุมานได้
- Reconstruct objects จาก Redis HGETALL, logs หรือ ENV exports
- ข้อมูลเป็นส่วนตัวด้วยการประมวลผลในเบราว์เซอร์ทั้งหมด
กรณีการใช้งาน
- •แปลงไฟล์ config ที่ซ้อนกันเป็น flat env vars สำหรับ Docker และ shell script
- •แปลง flat rows แบบ CSV/TSV เป็น nested JSON สำหรับ API และ storage
- •แปลงผลลัพธ์จาก MongoDB หรือ Elasticsearch ให้แบนเพื่อดูในสเปรดชีต
- •ทำ structured logs ให้เป็น key=value แบบเดียวเพื่อวิเคราะห์
- •เตรียม config snapshots ที่ round-trip ระหว่าง flat และ nested ได้
วิธี flatten หรือ unflatten JSON
- เลือกทิศทาง: เลือกแท็บ Flatten เพื่อยุบโครงสร้างซ้อน หรือ Unflatten เพื่อสร้าง JSON กลับจากบรรทัด key = value โดยแต่ละโหมดจะโหลดตัวอย่างที่ตรงกันให้
- เลือกตัวคั่น: เลือกจุด ขีดล่าง ทับ แบบ bracket หรือกำหนดเองอย่าง :: โดย key ที่มีตัวคั่นอยู่แล้วจะถูก escape ด้วยแบ็กสแลชเพื่อกัน key ชนกัน
- วางข้อมูล: วาง JSON ที่ซ้อนกันหรือบรรทัดแบบแบนลงอินพุต Flatten จะแสดงตาราง key, value และ type ของทุก leaf ส่วน Unflatten จะพิมพ์ JSON ที่สร้างใหม่โดยตัวเลขกลายเป็น array
- คัดลอกผลลัพธ์: กด Copy เพื่อเอาบรรทัดแบบแบนหรือ JSON ที่จัดรูปแล้ว และแก้ตามข้อความ error ถ้ามี เช่น JSON ไม่ถูกต้องหรือบรรทัดขาดเครื่องหมาย =
คุณสมบัติหลัก
- ทำงานสองทิศทาง: flatten JSON เป็น flat keys และ unflatten flat maps กลับเป็น nested JSON
- มีตัวคั่นให้เลือก 4 แบบ (dot, underscore, slash, bracket) และตัวเลือก custom separator
- อนุมานชนิดข้อมูลอัจฉริยะ: string, number, boolean, null และ nested objects/arrays
- จัดการ arrays ได้อย่างเป็นธรรมชาติด้วย bracket notation เช่น tags[0], tags[1]
- ตารางแสดง key, value และชนิดที่ตรวจพบเคียงกัน เพื่อตรวจสอบได้ง่าย
- ทำงานในเบราว์เซอร์ทั้งหมด ไม่มีการอัปโหลดข้อมูล
คำถามที่พบบ่อย
เลือกตัวคั่น key แบบไหนได้บ้าง
มีจุด (user.name), ขีดล่าง, ทับ, แบบ bracket อย่าง tags[0] หรือกำหนดเองได้ เช่น :: โดย key ที่มีตัวคั่นอยู่แล้วจะถูก escape ด้วยแบ็กสแลช เพื่อให้ flatten แล้วแปลงกลับได้ตรงเดิม
แปลงกลับจาก key แบบแบนเป็น JSON ได้ไหม
ได้ สลับไปแท็บ Unflatten แล้ววางบรรทัด key = value โดยตัวเลขจะสร้าง array กลับมา ค่าต่าง ๆ ถูก parse เป็น JSON (ตัวเลข, boolean, null, string ที่มีเครื่องหมายคำพูด, object ซ้อน) และบรรทัดคอมเมนต์ # หรือ // จะถูกข้าม
ตอน flatten ระบบจัดการ array อย่างไร
แต่ละสมาชิกจะได้ key แบบมีดัชนี เช่น tags.0 ในโหมดจุด หรือ tags[0] ในโหมด bracket ตารางผลลัพธ์แสดงทุก leaf พร้อม key, value และ type ที่ตรวจพบ พร้อมจำนวนรายการรวม
ถ้า JSON ไม่ถูกต้องจะเป็นอย่างไร
โหมด Flatten จะแสดงข้อความ error จาก JSON.parse ตรง ๆ และโหมด Unflatten จะชี้บรรทัดแรกที่ขาดเครื่องหมาย = โดยทุกอย่างทำงานออฟไลน์ในเบราว์เซอร์ ไม่ส่งข้อมูลไปที่ใด