ข้ามไปยังเนื้อหา
ToolMug

ใช้ ↑ ↓ เพื่อเลื่อน, Enter เพื่อเปิด, Esc เพื่อปิด

เปรียบเทียบ JSON

ดูได้อย่างชัดเจนว่ามีอะไรเปลี่ยนไประหว่างไฟล์กำหนดค่า JSON คำตอบจาก API หรือไฟล์ข้อมูลสองเวอร์ชัน ความแตกต่างจะแสดงตามพาธ เช่น $.users[2].email ดังนั้นการสลับลำดับคีย์หรือจัดรูปแบบใหม่จะไม่ถูกนับเป็นการเปลี่ยนแปลง

ทำงานในเบราว์เซอร์ของคุณ ข้อมูลที่คุณป้อนจะไม่ถูกอัปโหลด

วาง JSON ทั้งสองฝั่งเพื่อเปรียบเทียบ

วิธีใช้งาน

  1. วาง JSON ต้นฉบับทางซ้าย และ JSON ที่เปลี่ยนแปลงแล้วทางขวา
  2. เลือกว่าลำดับของอาร์เรย์มีความสำคัญหรือไม่
  3. อ่านรายการค่าที่เพิ่ม (+), ลบ (−) และเปลี่ยนแปลง (~) หรือคัดลอกเป็นรายงาน

คำอธิบายตัวเลือก

เปรียบเทียบตามตำแหน่ง
รายการในอาร์เรย์จะถูกเปรียบเทียบทีละรายการ การแทรกรายการที่จุดเริ่มต้นจึงทำให้ทุกตำแหน่งถัดไปเปลี่ยนแปลง
ไม่สนใจลำดับ
ถือว่าอาร์เรย์เป็นชุดข้อมูลที่ไม่เรียงลำดับ และรายงานเฉพาะรายการที่มีอยู่ในฝั่งหนึ่งแต่ไม่มีในอีกฝั่ง เหมาะสำหรับรายการ ID แท็ก หรือระเบียน
พาธ
พาธใช้รูปแบบ JSONPath: $ คือราก, .key คือพร็อพเพอร์ตี, [0] คือรายการในอาร์เรย์ และ ["a b"] คือคีย์ที่ไม่ใช่ชื่อแบบทั่วไป

ตัวอย่าง

ลองดูเอกสารสองฉบับนี้ ซึ่งคีย์เรียงต่างกันและบางค่าต่างกัน:

{"name": "Ada", "age": 36, "tags": ["x", "y"], "address": {"city": "Rome"}, "first name": "A"}
{"age": 37, "name": "Ada", "tags": ["y", "x"], "address": {"city": "Rome", "zip": "00100"}, "first name": "B", "role": "admin"}

เมื่อเปรียบเทียบตามตำแหน่ง ผลลัพธ์คือ:

การเปลี่ยนแปลง พาธ ก่อน หลัง
~ $.age 36 37
~ $.tags[0] “x” “y”
~ $.tags[1] “y” “x”
+ $.address.zip “00100”
~ $["first name"] “A” “B”
+ $.role “admin”

เมื่อเปิด “ไม่สนใจลำดับ” การเปลี่ยนแปลงของ tags ทั้งสองรายการจะหายไป เพราะอาร์เรย์ทั้งสองมีสองค่าเหมือนกัน ลำดับของคีย์ไม่มีผลในทั้งสองโหมด ค่าที่เปลี่ยนชนิด เช่น ตัวเลขที่กลายเป็นสตริงหรืออ็อบเจ็กต์ที่กลายเป็นอาร์เรย์ จะรายงานเป็นหนึ่งการเปลี่ยนแปลงที่พาธของตัวเอง

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

ต่างจากการเปรียบเทียบข้อความอย่างไร?

การเปรียบเทียบข้อความจะเปรียบเทียบทีละบรรทัด จึงแสดงการจัดรูปแบบและลำดับคีย์ที่เปลี่ยนไปเป็นความแตกต่าง ส่วนเครื่องมือเปรียบเทียบ JSON จะแยกวิเคราะห์ทั้งสองฝั่งและเปรียบเทียบข้อมูลโดยตรง

1 กับ "1" ถือว่าเท่ากันหรือไม่?

ไม่เท่ากัน ตัวเลขและสตริงเป็นค่า JSON คนละประเภท จึงรายงานการเปลี่ยนแปลงพร้อมแสดงค่าทั้งสองฝั่ง

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

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

ความเป็นส่วนตัว

เครื่องมือนี้ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไฟล์และข้อความของคุณได้รับการประมวลผลบนอุปกรณ์ของคุณ และจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา

เครื่องมือที่เกี่ยวข้อง