เครื่องมือ
TH

เปรียบเทียบ JSON ออนไลน์

วาง JSON สองชุดเพื่อหาความแตกต่างทุกจุด การเปรียบเทียบเชิงความหมาย (semantic) ไม่สนใจลำดับคีย์และการจัดรูปแบบ พร้อมแสดงการเปลี่ยนแปลงแต่ละจุดด้วย JSON path ส่วนมุมมองแบบเคียงข้างกันจะไฮไลต์บรรทัดที่เปลี่ยนแปลง

JSON ต้นฉบับ

JSON ที่แก้ไขแล้ว

เป็นส่วนตัว: ข้อมูลของคุณถูกประมวลผลในเบราว์เซอร์ และไม่มีการอัปโหลดไปที่ใดเลย

วิธีเปรียบเทียบ JSON

  1. วาง JSON ต้นฉบับทางซ้ายและ JSON ที่แก้ไขแล้วทางขวา หรือลากไฟล์มาวางในแต่ละฝั่ง
  2. อ่านสรุปและรายการความแตกต่าง: ค่าที่ถูกเพิ่ม ลบ หรือเปลี่ยนแปลงทุกค่าจะแสดงพร้อมพาธ เช่น $.users[2].email
  3. เลื่อนลงไปที่มุมมองแบบเคียงข้างกันเพื่อดูการเปลี่ยนแปลงในบริบท ติ๊ก ไม่สนใจลำดับในอาร์เรย์ หากลำดับของรายการในลิสต์ไม่สำคัญ

JSON diff เชิงความหมาย ไม่ใช่ text diff

text diff ทั่วไปจะรายงานการเปลี่ยนแปลงทุกครั้งที่คีย์ย้ายตำแหน่ง การเยื้องต่างกัน หรือตัวเลขถูกเขียนต่างรูปแบบ แต่ JSON diff นี้เปรียบเทียบที่ตัวข้อมูลจริง:

วิธีอ่านผลการเปรียบเทียบ

ป้ายกำกับความหมายพาธชี้ไปที่
เพิ่มค่านี้มีเฉพาะใน JSON ที่แก้ไขแล้วตำแหน่งใน JSON ที่แก้ไขแล้ว
ลบค่านี้มีเฉพาะใน JSON ต้นฉบับตำแหน่งใน JSON ต้นฉบับ
เปลี่ยนแปลงทั้งสองเอกสารมีคีย์นี้ แต่ค่าหรือชนิดข้อมูลต่างกันตำแหน่งใน JSON ที่แก้ไขแล้ว

ในมุมมองแบบเคียงข้างกัน เอกสารทั้งสองจะถูกจัดรูปแบบพร้อมเรียงคีย์ เพื่อให้บรรทัดที่ตรงกันอยู่ตรงข้ามกัน ส่วนช่วงยาวๆ ที่ไม่เปลี่ยนแปลงจะถูกพับไว้ เว้นแต่คุณจะยกเลิกการติ๊ก ซ่อนบรรทัดที่ไม่เปลี่ยนแปลง

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

ลำดับของคีย์มีผลหรือไม่?

ไม่ ตามนิยามแล้วอ็อบเจ็กต์ JSON ไม่มีลำดับ การเปรียบเทียบจึงไม่สนใจลำดับคีย์ ส่วนอาร์เรย์ถือว่ามีลำดับ เว้นแต่คุณจะติ๊กตัวเลือก “ไม่สนใจลำดับในอาร์เรย์”

เปรียบเทียบไฟล์ JSON ขนาดใหญ่ได้ไหม?

ได้ การเปรียบเทียบทำงานในเบราว์เซอร์ของคุณและแสดงความแตกต่าง 200 จุดแรก พร้อมปุ่มสำหรับแสดงทั้งหมด ส่วนมุมมองแบบเคียงข้างกันแสดงได้สูงสุด 5,000 บรรทัด

เปรียบเทียบ JSON ในโค้ดได้อย่างไร?

ใน Python ใช้ json.loads(a) == json.loads(b) เพื่อทดสอบว่าเท่ากันหรือไม่ JavaScript ไม่มีฟังก์ชันเปรียบเทียบเชิงลึกในตัว แต่ไลบรารีอย่าง Lodash มี _.isEqual(a, b) ให้ใช้ ส่วนบน command line คำสั่ง diff <(jq -S . a.json) <(jq -S . b.json) จะแสดงบรรทัดที่ต่างกัน

ข้อมูลของฉันถูกอัปโหลดหรือไม่?

ไม่ เอกสารทั้งสองถูกเปรียบเทียบภายในเบราว์เซอร์ของคุณและไม่เคยออกจากอุปกรณ์ของคุณ