Geliştirici ve kod %100 tarayıcıda ve çevrimdışı

JSON Farkı

İki JSON belgesini karşılaştırın ve eklenen, kaldırılan ve değişen her değeri JSON Pointer yoluyla listeleyin. Sonucu metin veya JSON Patch olarak kopyalayın.

Girdinizi yapıştırın veya yazın; sonuç anında görünür, hatalar girdinin altında gösterilir. Alanlar bir örnekle başlar: birine tıklayıp yazmaya başlayarak örneği değiştirin.

Dosyalarınız ve girdileriniz tarayıcınızdan asla çıkmaz – hiçbir şey yüklenmez.

Nesneler anahtara göre karşılaştırılır, bu yüzden anahtar sırası hiçbir zaman sayılmaz. Diziler, sırayı yok saymadıkça konuma göre karşılaştırılır. Sıra yok sayıldığında değişen bir öğe, bir kaldırılan ve bir eklenen öğe olarak görünür.

Farklar

    Sınırlar: taraf başına 2.000.000 karakter. Sayılar JSON.parse ile okunur, bu yüzden 2^53'ün ötesindeki tam sayılar duyarlılık kaybeder. Bir anahtar metinde iki kez geçerse son değer geçerli olur. Liste ilk 1.000 farkı gösterir; kopyala düğmeleri hepsini kullanır.

    İki JSON belgesini yapıştırın, fark listesini okuyun. /users/0/name değişti, /email eklendi, /role kaldırıldı: her satır tam yeri söyler; böylece iki küme parantezi duvarını gözle taramanız gerekmez. Bu JSON farkı metni değil, ayrıştırılmış veriyi karşılaştırır. Girinti ve anahtar sırası hiçbir zaman değişiklik olarak görünmez.

    Bir JSON farkını okuma: yol, tür, eski ve yeni değer

    Her farkın dört parçası vardır. Yol, RFC 6901'de tanımlandığı gibi bir JSON Pointer'dır: /users/0/name, users içindeki ilk öğenin name anahtarıdır. Eğik çizgi içeren bir anahtar ~1 ile, yaklaşık işareti içeren bir anahtar ~0 ile yazılır. Tür eklendi, kaldırıldı, değişti veya tür değişti'dir. Her türün kendi rengi, simgesi (+, -, ~, !) ve metin etiketi vardır; böylece liste renk görmeden de çalışır. Sonra eski ve yeni değer gelir.

    Bir özet satırı türleri sayar. İki taraf da aynı veriyi içeriyorsa onun yerine "Fark yok" görürsünüz.

    200 karakterden uzun değerler kesilir ve kaç karakterin gizlendiğini söyleyen bir not eklenir. "Değerin tamamını göster" düğmesi değeri yerinde genişletir.

    İki API yanıtını adım adım karşılaştırma

    1. Özgün olanı soldaki kutuya, değişmiş sürümü sağdaki kutuya yapıştırın. İki kutu da bir örnekle başlar; yazmadan önce bir sonuç görürsünüz.
    2. Bir an bekleyin. Araç son tuş vuruşunuzdan 200 ms sonra karşılaştırır. Bir taraf geçerli JSON değilse ileti tarafı, satırı ve sütunu belirtir.
    3. Geçerli girdiyi güzelleştirmek için İkisini de biçimlendir'e, dosyaları ters yapıştırdıysanız Tarafları değiştir'e basın.
    4. Liste öğelerinin sırası sizin için önemli değilse Dizi sırasını yok say'ı açın.
    5. Fark başına bir satır için Farkı metin olarak kopyala'ya, bir programın uygulayabileceği yama için JSON Patch olarak kopyala'ya basın.

    Anahtar sırası, dizi sırası ve sayı eşitliği

    Nesneler anahtara göre karşılaştırılır; bu yüzden {"a":1,"b":2}, {"b":2,"a":1} ile eşittir. Diziler dizine göre karşılaştırılır: [1,2,3] ile [3,2,1] iki değişiklik verir, çünkü ortadaki öğe aynıdır.

    Dizi sırasını yok say ile araç her öğe için sıralı anahtarlarla kanonik bir metin kurar ve eşit öğeleri çoklu küme olarak eşleştirir. Öğelerin içindeki iç içe diziler de sırasız karşılaştırılır. Bedeli: içeriden değişen bir öğe, öğenin içinde bir değişiklik olarak değil, bir kaldırılan ve bir eklenen öğe olarak görünür.

    Sayılar değere göre karşılaştırılır; yani 1 ve 1.0 eşittir. null değerli bir anahtar, eksik bir anahtarla aynı değildir. Boş bir nesne ile boş bir dizi bir tür değişikliğidir, 1 ile "1" da öyle. Dizeler büyük/küçük harf ve boşluklar dahil tam olarak karşılaştırılır.

    Farkı RFC 6902 JSON Patch olarak kopyalama

    Yama, soldaki belgeyi add, remove ve replace işlemleriyle sağdakine dönüştürür. Dizi öğeleri en yüksek dizinden aşağı doğru kaldırılır ve en düşük dizinden yukarı doğru eklenir; böylece işlemler verilen sırayla çalışır. move ya da copy işlemi yoktur. Sırayı yok sayma kipinde düğme devre dışıdır, çünkü bir yama dizi öğelerine konumla işaret eder.

    JSON'unuz nereye gider ve neyi okuyamaz

    Ayrıştırma ve karşılaştırma tarayıcınızda JSON.parse ile çalışır. Araç hiçbir istek göndermez ve hiçbir şey saklamaz; tarayıcınızın ağ paneli bunu gösterir. Pano yalnızca bir kopyala düğmesine bastığınızda kullanılır.

    Her taraf 2.000.000 karakter olabilir. Daha büyük girdi bir iletiyle reddedilir. 2^53'ün ötesindeki sayılar duyarlılık kaybeder: 9007199254740993, 9007199254740992 olarak okunur; bu yüzden iki farklı dev tam sayı eşit görünebilir. Bir anahtar metinde iki kez geçerse son değer geçerli olur. Yorumlar ve sondaki virgüller JSON değildir ve hata onların satırını ve sütununu gösterir. Liste ilk 1.000 farkı gösterir; kopyala düğmeleri hepsini kullanır. Baştaki bayt sırası işareti ayrıştırmadan önce kaldırılır.

    Sık sorulan sorular (SSS)

    Özgün JSON'u soldaki kutuya, değişmiş JSON'u sağdaki kutuya yapıştırın. Fark listesi kısa bir beklemeden sonra görünür. Her girdi yolu, değişiklik türünü ve eski ile yeni değeri gösterir.