UTILS.
ทำงานในเบราว์เซอร์ 100%
⊞}

JSON Flatten / Unflatten

ยุบ JSON ที่ซ้อนกันให้เป็นคีย์แบบ dot-notation หรือสร้างออบเจกต์ซ้อนกันกลับมาจากคีย์แบบแบน

— ผลลัพธ์จะแสดงที่นี่ —

เกี่ยวกับเครื่องมือนี้

JSON Flatten / Unflatten เป็นเครื่องมือฟรีที่ทำงานในเบราว์เซอร์ ซึ่งแปลง JSON แบบซ้อนกันให้เป็นแมปคีย์ระดับเดียวแบบ dot-notation และสร้างโครงสร้างซ้อนกลับจากคีย์แบนเหล่านั้น วาง JSON แล้วเลือกทิศทาง: Flatten ยุบทุกเส้นทางให้เป็นอ็อบเจกต์แบนหนึ่งเดียว (เช่น user.name หรือ user.roles.0) ขณะที่ Unflatten ขยายคีย์แบบจุดกลับเป็นอ็อบเจกต์และอาร์เรย์ที่ซ้อนกัน

ทั้งสองทิศทางแยกวิเคราะห์ข้อมูลนำเข้าด้วยตัวแยกวิเคราะห์ JSON ของเบราว์เซอร์เอง และพิมพ์ผลลัพธ์ให้สวยงามด้วยการเยื้องสองช่องว่าง อ็อบเจกต์และอาร์เรย์ถูกเดินสำรวจแบบเรียกซ้ำ สมาชิกในอาร์เรย์คงดัชนีตัวเลขไว้ในเส้นทาง และค่าปลายทาง (leaf) ได้แก่ สตริง ตัวเลข บูลีน null และอ็อบเจกต์หรืออาร์เรย์ว่าง จะถูกรักษาไว้ไม่เปลี่ยน JSON ที่ไม่ถูกต้องจะแสดงข้อผิดพลาดแบบอินไลน์แทนเอาต์พุต และปุ่มคัดลอกจะวางผลลัพธ์ลงในคลิปบอร์ด

ทุกอย่างทำงานในเครื่องด้วย JavaScript ไม่มีการอัปโหลด ไม่มีบัญชี ไม่มีการติดตาม และใช้งานออฟไลน์ได้ การ Flatten มีประโยชน์ในการเปลี่ยน config เป็นคู่คีย์/ค่าแบบแบน เช่น ตัวแปรสภาพแวดล้อมหรือไฟล์ข้อความ i18n สำหรับ diff เพย์โหลดที่ซ้อนลึก หรือปรับรูปแบบการตอบกลับ API และการ Unflatten จะย้อนการแม็ปแบบเดียวกันกลับ

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

อาร์เรย์ถูกจัดการอย่างไร?
สมาชิกในอาร์เรย์ใช้ดัชนีตัวเลขในคีย์ เช่น items.0.name เมื่อ Unflatten ส่วนของเส้นทางใดที่เป็นตัวเลขล้วนจะถูกมองว่าเป็นดัชนีอาร์เรย์ ดังนั้นส่วนเหล่านั้นจะถูกสร้างกลับเป็นอาร์เรย์
ข้อมูลของฉันถูกอัปโหลดไหม?
ไม่ การแยกวิเคราะห์และการแปลงทำงานในเบราว์เซอร์ของคุณด้วย JavaScript ทั้งหมด ไม่มีการส่งไปยังเซิร์ฟเวอร์ และเครื่องมือยังทำงานออฟไลน์ได้
อ็อบเจกต์และอาร์เรย์ว่างจะเกิดอะไรขึ้น?
พวกมันถูกมองว่าเป็นค่าปลายทางและคงไว้ตามเดิมที่คีย์ของมัน ดังนั้น {} หรือ [] ที่ว่างจะรอดจากการ Flatten โดยไม่เปลี่ยนแปลง แทนที่จะถูกขยายเป็นคีย์ที่ลึกกว่า
การ Flatten แล้ว Unflatten คืนค่า JSON ต้นฉบับเสมอไหม?
เกือบเสมอ แต่มีสองกรณีที่ต่าง: คีย์ที่มีจุดอยู่แล้วจะแตกเป็นการซ้อนเพิ่มเมื่อ Unflatten และคีย์ของอ็อบเจกต์ที่เป็นตัวเลขล้วนจะถูกสร้างกลับเป็นดัชนีอาร์เรย์แทนที่จะเป็นคีย์ของอ็อบเจกต์

เครื่องมือเพิ่มเติม