JSON Diff עם מפתחות ממוינים - התעלם מסדר המפתח
השווה שני מטענים של JSON לפי מבנה, לא לפי טקסט: ראה כל מפתח שהוסף, הוסר ושונה בנתיב שלו, כולו בדפדפן שלך.
תוצאה
דף זה פותח את בודק ה-JSON הבדלים כאשר 'מיין מפתחות לפני השוואה' כבר מופעל, טעון בדוגמה קטנה: אותה רשומת אדם נכתבת פעמיים עם המפתחות שלה בסדר שונה. תסתכל על התוצאה ותראה אפס הבדלים, בדיוק כפי שהוא צריך להיות - סידור מחדש של מפתחות לא משנה את המשמעות של אובייקט JSON.
אובייקט JSON הוא, בהגדרה, אוסף לא מסודר של זוגות מפתח/ערך. {"id":1,"name":"Ada"} ו-{"name":"Ada","id":1} מתארים את אותם נתונים בדיוק. עם זאת השוואה נאיבית - למשל הדבקת שני המטענים, מודפסים יפה, לתוך הבדל טקסט מבוסס-שורה רגילה - תסמן כמעט כל שורה כשונתה ברגע שהמסדרן של צד אחד החליט לפלוט שדות בסדר אחר, כי הבדל טקסט רק משווה תווים ושורות, אף פעם לא אומר.
הכלי הזה מונע את המלכודת הזו על ידי הליכה על המפתחות של כל אובייקט לפי שם ולא לפי מיקום, כך שסדר המקשים אף פעם לא היה ממש מתעתע בו - המיון רק הופך את הערבות הזו לגלויה ונותן לך רשימה נקייה בסדר אלפביתי שאפשר לקרוא את ההבדלים מולם. ערוך אחד מאזור הטקסט וצפה בעדכון ההבדל בשידור חי; כשתהיה מוכן, השווה את שני מסמכי ה-JSON שלך כאן במקום הדוגמה.