เทียบไฟล์ JSON (JSON Diff)
วาง JSON สองชุดเพื่อดูว่าต่างกันที่ไหน โดยไม่สนใจลำดับคีย์และการเว้นวรรค — ทำงานในเบราว์เซอร์ ข้อมูลไม่ถูกส่งออกจากเครื่อง
ประมวลผลในเบราว์เซอร์ของคุณ ไม่มีการส่งข้อมูลออก
เกี่ยวกับเครื่องมือนี้
เปรียบเทียบ JSON สองชุดเพื่อดูว่า อะไรเปลี่ยนไปจริง ๆ โดยไม่ต้องไล่อ่านทีละบรรทัดด้วยตา ระบบจะจัดเรียงคีย์ทุกระดับและจัดรูปแบบใหม่ให้เหมือนกันก่อนเทียบ แล้วแสดงผลแบบบรรทัดต่อบรรทัด — สีเขียวคือของที่เพิ่ม สีแดงคือของที่หายไป พร้อมจำนวนบรรทัดที่ต่างกัน
งานที่ใช้บ่อยสำหรับนักพัฒนา:
- เทียบ API response ก่อนและหลังแก้โค้ด เพื่อยืนยันว่าไม่ได้เปลี่ยนสัญญาข้อมูลโดยไม่ตั้งใจ
- หาสาเหตุบั๊กที่เกิดเฉพาะบางเครื่อง ด้วยการเทียบ response จาก staging กับ production
- ตรวจไฟล์ตั้งค่า เช่น
package.json, ไฟล์ config ของ service หรือ feature flag ระหว่างสองสภาพแวดล้อม - รีวิว payload ที่คู่ค้าส่งมา เมื่อโครงสร้างเปลี่ยนแต่เอกสารยังไม่อัปเดต
สิ่งที่ทำให้ต่างจากการเทียบข้อความธรรมดา คือความเข้าใจโครงสร้าง ถ้าใช้เครื่องมือเทียบข้อความทั่วไป การสลับลำดับคีย์หรือการเปลี่ยนจำนวนช่องว่างจะถูกฟ้องเป็นความต่างทั้งหมด จนของที่เปลี่ยนจริงจมหายไปในผลลัพธ์ เครื่องมือนี้จัดรูปแบบให้เป็นมาตรฐานเดียวกันก่อน จึงเหลือเฉพาะค่าที่เปลี่ยน
ถ้าฝั่งใดฝั่งหนึ่งเป็น JSON ที่ไม่ถูกต้อง ระบบจะบอกชัดว่าเป็นฝั่งซ้ายหรือฝั่งขวา ทำให้แก้ได้ตรงจุดโดยไม่ต้องเดา — และทั้งหมดนี้ ทำงานในเบราว์เซอร์ ข้อมูลไม่ถูกส่งออกจากเครื่อง จึงวาง response จากระบบจริงหรือข้อมูลลูกค้าลงไปได้ ใช้ฟรี ไม่ต้องสมัครสมาชิก
วิธีใช้งาน
- 1วาง JSON ชุดแรกในช่องซ้าย เช่น ข้อมูลก่อนแก้ไข หรือผลลัพธ์จากเซิร์ฟเวอร์ตัวหนึ่ง
- 2วาง JSON ชุดที่สองในช่องขวา เช่น ข้อมูลหลังแก้ไข หรือผลลัพธ์จากอีกเซิร์ฟเวอร์
- 3ดูผลเปรียบเทียบด้านล่าง บรรทัดสีเขียวคือของที่เพิ่มเข้ามา สีแดงคือของที่หายไป
- 4ถ้าฝั่งใดรูปแบบไม่ถูกต้อง ระบบจะบอกว่าเป็นฝั่งไหน เพื่อให้แก้ได้ตรงจุด
คำถามที่พบบ่อย
- ทำไมลำดับคีย์ที่ต่างกันไม่ถูกนับว่าต่าง
- เพราะในทางความหมาย JSON ไม่ได้สนใจลำดับคีย์ในอ็อบเจ็กต์ ระบบจึงจัดเรียงคีย์ทุกชั้นและจัดรูปแบบใหม่ก่อนเทียบ ทำให้เห็นเฉพาะความต่างที่มีความหมายจริง ไม่ใช่ความต่างจากการเรียงลำดับหรือช่องว่าง
- ต่างจากการเทียบข้อความธรรมดายังไง
- การเทียบข้อความจะฟ้องทุกอย่างที่ต่าง รวมถึงเว้นวรรค การขึ้นบรรทัด และลำดับคีย์ ทำให้ผลรกจนหาของจริงไม่เจอ เครื่องมือนี้เข้าใจโครงสร้าง JSON ก่อนเทียบ จึงเหลือแต่ค่าที่เปลี่ยนจริง
- ข้อมูลของฉันถูกส่งขึ้นเซิร์ฟเวอร์ไหม
- ไม่ การเทียบทำในเบราว์เซอร์ทั้งหมด ข้อมูลไม่ถูกส่งออกจากเครื่อง จึงวาง response จากระบบจริงหรือ payload ที่มีข้อมูลลูกค้าได้โดยไม่ต้องกังวล
- ใช้กับอาร์เรย์ที่ลำดับสลับกันได้ไหม
- ได้ แต่พึงระวังว่าลำดับในอาร์เรย์ถือว่ามีความหมายตามมาตรฐาน JSON ถ้าสองฝั่งมีสมาชิกเหมือนกันแต่เรียงต่างกัน ระบบจะรายงานว่าต่าง ซึ่งถูกต้องตามความหมายของข้อมูล
- ไฟล์ใหญ่แค่ไหนที่ยังไหว
- เพราะทำงานในเครื่องคุณ ขนาดที่ไหวจึงขึ้นกับเครื่อง โดยทั่วไป payload ระดับหลักร้อยกิโลไบต์เทียบได้สบาย ถ้าใหญ่กว่านั้นแนะนำตัดมาเฉพาะส่วนที่สนใจ