ตัวแปลง JSON เป็นแบบแบน
แปลง JSON แบบซ้อนเป็นคีย์พาธแบบแบนและคืนโครงสร้างกลับได้
วาง JSON แบบซ้อนหรือโหลดตัวอย่างเพื่อแปลงเป็นแบบแบน
JSON Flattener ทำอะไรได้บ้าง
JSON Flattener แปลงออบเจ็กต์และอาร์เรย์แบบซ้อนให้เป็นคีย์พาธระดับเดียว เช่น user.address.city หรือ users[0].name และสร้าง JSON แบบซ้อนกลับคืนจากคีย์เหล่านั้น คีย์แบบแบนมีประโยชน์กับระบบคอนฟิก ไฟล์แปลภาษา คอลัมน์สเปรดชีต ดัชนีการค้นหา และการเทียบความต่างที่อ่านยากเมื่อข้อมูลซ้อนกันลึก สตริง ตัวเลข บูลีน null ออบเจ็กต์ว่าง และอาร์เรย์ว่างยังคงชนิดเดิม และตัวเลขที่เกินความแม่นยำของ JavaScript เช่น 9007199254740993 จะถูกเขียนด้วยหลักเดิมทุกหลัก
วิธีใช้งาน
- 1.เลือกแปลงเป็นแบบแบนหรือคืนโครงสร้าง แล้ววาง JSON อัปโหลดหรือลากไฟล์ .json หนึ่งไฟล์มาวาง หรือโหลดตัวอย่าง
- 2.เลือกตัวคั่น (. / _ หรือ __) และเลือกว่าดัชนีอาร์เรย์จะใช้วงเล็บเหลี่ยม (items[0]) หรือตัวคั่น (items.0)
- 3.ในโหมดแปลงเป็นแบบแบน เลือกผลลัพธ์เป็นออบเจ็กต์ JSON บรรทัดคีย์=ค่า หรือตัวแปรสภาพแวดล้อม
- 4.อ่านผลการตรวจสอบการแปลงไปกลับและรายการปัญหา ทุกปัญหาจะระบุพาธที่เกี่ยวข้องอย่างชัดเจน
- 5.คัดลอกผลลัพธ์หรือดาวน์โหลด flattened.json, unflattened.json, flattened.txt หรือ flattened.env ใช้ "คืนโครงสร้างผลลัพธ์นี้" เพื่อตรวจสอบทิศทางย้อนกลับ
การชนกัน ความขัดแย้ง และการตรวจสอบไปกลับ
การแปลงเป็นแบบแบนจะย้อนกลับได้ก็ต่อเมื่อทุกคีย์แยกกลับเป็นพาธเดิมได้ คีย์ที่มีตัวคั่นอยู่แล้ว (เช่น "a.b" เมื่อใช้จุดเป็นตัวคั่น) หรือสองพาธที่ได้คีย์แบบแบนเดียวกันจะถูกรายงานพร้อมทั้งสองพาธ โดยเก็บค่าแรกไว้และไม่มีข้อมูลใดหายไปโดยไม่มีคำเตือน เมื่อคืนโครงสร้างก็จะรายงานเช่นกันเมื่อพาธหนึ่งต้องเป็นทั้งค่าและออบเจ็กต์ (user และ user.name) เมื่อดัชนีอยู่ห่างจากท้ายอาร์เรย์มากเกินไป หรือเมื่ออาร์เรย์มีช่องว่าง ซึ่งจะเติมด้วย null หลังการประมวลผล JSON ทุกครั้ง เครื่องมือจะทำขั้นตอนย้อนกลับแล้วเปรียบเทียบผล ดังนั้น "ยืนยันการแปลงไปกลับแล้ว" จึงเป็นการตรวจสอบจริง ไม่ใช่คำสัญญา
ตัวแปรสภาพแวดล้อม ข้อจำกัด และความเป็นส่วนตัว
ชื่อตัวแปรสภาพแวดล้อมจะเปลี่ยนเป็นตัวพิมพ์ใหญ่ คำแบบ camelCase จะคั่นด้วย _ เครื่องหมายเน้นเสียงจะถูกตัดออก และอักขระที่อยู่นอก A–Z และ 0–9 จะกลายเป็น _ ดังนั้น database.primary.port จะกลายเป็น DATABASE_PRIMARY_PORT ชื่อที่ขึ้นต้นด้วยตัวเลขจะได้คำนำหน้า _ และชื่อที่ชนกันจะถูกรายงาน ผลลัพธ์แบบคีย์=ค่าและตัวแปรสภาพแวดล้อมเป็นรูปแบบทางเดียว คีย์ออบเจ็กต์ที่ดูเหมือนจำนวนเต็มจะแสดงก่อนเพราะ JavaScript เรียงลำดับแบบนั้น การซ้อนที่ลึกเกิน 256 ระดับจะเก็บไว้เป็นค่าเดียว และอินพุตที่ใหญ่กว่า 2 MB จะประมวลผลเมื่อคุณเลือกปุ่มหลัก ทุกอย่างทำงานในเบราว์เซอร์ของคุณและไม่มีการอัปโหลด JSON
