JSON ഡിഫ് വ്യൂവർ
ഇടത് JSON
വലത് JSON
ഡിഫ് ഔട്ട്പുട്ട്
സാങ്കേതിക വിശദാംശങ്ങൾ
JSON Diff ടൂൾ എങ്ങനെ പ്രവർത്തിക്കുന്നു
ഉപകരണം ചെയ്യുന്നത് എന്താണ്
JSON Diff ടൂൾ രണ്ട് JSON ഡോക്യുമെന്റുകൾ തമ്മിൽ ആഴത്തിലുള്ള ഘടനാപരമായ താരതമ്യം നടത്തി, ഓരോ നെസ്റ്റിംഗ് ലെവലിലും ചേർത്തതും നീക്കിയതും മാറ്റം വന്നതുമായ കീകൾ തിരിച്ചറിയുന്നു. നെസ്റ്റഡ് ഒബ്ജക്റ്റ്, അറേ വ്യത്യാസങ്ങൾ ഉൾപ്പെടെ എന്താണ് മാറിയതെന്ന് കൃത്യമായി കാണിക്കുന്ന നിറം-കോഡ് ചെയ്ത ഹൈലൈറ്റിംഗോടെ ഫലങ്ങൾ പ്രദർശിപ്പിക്കുന്നു. ഇത് raw ടെക്സ്റ്റ് വരികൾ താരതമ്യം ചെയ്യുന്നതിന് പകരം JSON ഘടന മനസ്സിലാക്കുന്ന ഒരു സെമാന്റിക് ഡിഫ് നൽകുന്നു.
ഡെവലപ്പർമാർക്കുള്ള സാധാരണ ഉപയോഗ സാഹചര്യങ്ങൾ
ഡെവലപ്പർമാർ കോഡ് മാറ്റങ്ങൾക്ക് മുമ്പും ശേഷവും API റെസ്പോൺസുകൾ താരതമ്യം ചെയ്യാൻ, കോൺഫിഗറേഷൻ ഫയൽ അപ്ഡേറ്റുകളിൽ ഉദ്ദേശിച്ച മാറ്റങ്ങൾ മാത്രമാണുള്ളതെന്ന് സ്ഥിരീകരിക്കാൻ, പരിസ്ഥിതി-സ്പെസിഫിക് സെറ്റിംഗുകൾ (staging vs production) തമ്മിലുള്ള വ്യത്യാസങ്ങൾ ഡീബഗ് ചെയ്യാൻ എന്നിവയ്ക്കായി JSON diff ഉപയോഗിക്കുന്നു. Terraform plan ഔട്ട്പുട്ടുകൾ റിവ്യൂ ചെയ്യാനും, OpenAPI സ്കീമ വേർഷനുകൾ താരതമ്യം ചെയ്യാനും, ഡാറ്റാബേസ് മൈഗ്രേഷൻ സ്ക്രിപ്റ്റുകൾ JSON എക്സ്പോർട്ടുകളിൽ പ്രതീക്ഷിക്കുന്ന സ്കീമ മാറ്റങ്ങൾ സൃഷ്ടിക്കുന്നുണ്ടെന്ന് സാധൂകരിക്കാനും ഇത് അനിവാര്യമാണ്.
ഡാറ്റ ഫോർമാറ്റുകൾ, തരങ്ങൾ, അല്ലെങ്കിൽ വകഭേദങ്ങൾ
ഈ ടൂൾ ഘടനാപരമായ താരതമ്യം നടത്തുന്നു; ഒബ്ജക്റ്റ് കീകളുടെ ക്രമം സമത്വത്തെ ബാധിക്കില്ല (JSON ഒബ്ജക്റ്റുകൾ സ്പെസിഫിക്കേഷൻ പ്രകാരം unordered ആയതിനാൽ), എന്നാൽ അറേ എലമെന്റുകളുടെ ക്രമം പ്രാധാന്യമുള്ളതാണ്. ടൈപ്പ് മാറ്റങ്ങൾ (string '1' vs number 1) മാറ്റങ്ങളായി റിപ്പോർട്ട് ചെയ്യും. Null മൂല്യങ്ങളെ missing കീകളിൽ നിന്ന് വേർതിരിച്ചറിയും. ആഴത്തിൽ നെസ്റ്റഡ് വ്യത്യാസങ്ങൾ അവരുടെ പൂർണ്ണ JSON പാത്തോടെ റിപ്പോർട്ട് ചെയ്യുന്നതിനാൽ, ഓരോ ലെവലും കൈകൊണ്ട് വിപുലീകരിക്കാതെ തന്നെ സങ്കീർണ്ണ ഡോക്യുമെന്റുകളിലെ മാറ്റങ്ങൾ കണ്ടെത്താൻ കഴിയും.
സാധാരണ പിഴവുകളും എഡ്ജ് കേസുകളും
അറേയുടെ മധ്യത്തിൽ എലമെന്റുകൾ ചേർക്കുകയോ നീക്കുകയോ ചെയ്താൽ അറേ ഡിഫുകൾ ശബ്ദമുള്ളതാകാം; തുടർന്ന് വരുന്ന എല്ലാ ഇൻഡക്സുകളും മാറിയതായി കാണിക്കും. ഫ്ലോട്ടിംഗ്-പോയിന്റ് നമ്പറുകൾ സീരിയലൈസേഷൻ പ്രിസിഷൻ കാരണം (1.0 vs 1.00000000001) അർത്ഥവത്തായ മാറ്റമില്ലാതെയും വ്യത്യാസപ്പെടാം. ഒരേ ലെവലിൽ ആയിരക്കണക്കിന് കീകളുള്ള വളരെ വലിയ JSON ഡോക്യുമെന്റുകൾ അമിതമായ ഡിഫ് ഔട്ട്പുട്ട് സൃഷ്ടിക്കാം — ഉപവിഭാഗങ്ങൾ വേർതിരിച്ച് താരതമ്യം ചെയ്യുന്നത് പരിഗണിക്കുക. കമന്റുകൾ സാധുവായ JSON അല്ല; അതിനാൽ കമന്റുള്ള കോൺഫിഗ് ഫയലുകൾ താരതമ്യം ചെയ്യുന്നതിന് മുമ്പ് കമന്റുകൾ നീക്കം ചെയ്യണം.
കോഡിനേക്കാൾ ഈ ഉപകരണം എപ്പോൾ ഉപയോഗിക്കണം
ഡീബഗ്ഗിംഗിനിടയിലോ കോഡ് റിവ്യൂവിനിടയിലോ രണ്ട് JSON പെയ്ലോഡുകൾ വേഗത്തിൽ ദൃശ്യമായി താരതമ്യം ചെയ്യാൻ ഈ ബ്രൗസർ ടൂൾ ഉപയോഗിക്കുക. ഓട്ടോമേറ്റഡ് റെഗ്രഷൻ ടെസ്റ്റിംഗ്, CI പൈപ്പ്ലൈനുകൾ, അല്ലെങ്കിൽ പ്രോഗ്രാമാറ്റിക് ഡിഫ് ജനറേഷൻ എന്നിവയ്ക്കായി json-diff (npm), deepdiff (Python), അല്ലെങ്കിൽ ടെസ്റ്റ് സ്യൂട്ടുകളിൽ ഇന്റഗ്രേറ്റ് ചെയ്യാവുന്നതും മെഷീൻ-റീഡബിൾ പാച്ച് ഔട്ട്പുട്ട് (RFC 6902 JSON Patch ഫോർമാറ്റ്) നൽകുന്നതുമായ jq-അടിസ്ഥാന താരതമ്യങ്ങൾ പോലുള്ള ലൈബ്രറികൾ ഉപയോഗിക്കുക.