JSON Compare / Diff + Patch

Ду ҳуҷҷати JSON-ро семантикӣ дар браузери худ муқоиса кунед ва diff-ро ба patch табдил диҳед.

Бе боркунӣ ва бе сафар ба сервер. Бо режимҳои муқоисаи массив, қоидаҳои path ва таҳаммулпазирии рақамӣ садоро кам кунед.

Коркарди танҳо дар браузер, бе боркунии сервер
Режимҳои ба массивҳо огоҳ кам кардани садои бозбинӣ
Содироти JSON Patch ва JSON Merge Patch
Ҳама чиз дар ҳамин сессияи браузери шумо мемонад. Ҳеҷ чиз бор карда намешавад.

Ҷараёни кории тавсияшуда

  1. Ҳангоми хоҳиши вуруди яксон аввал JSON Formatter ё JSON Key Sort-ро истифода баред.
  2. JSON-ҳои чап ва ростро часпонед ё бор кунед, баъд Compare-ро иҷро кунед.
  3. Режими массив, match keys, tolerance ва қоидаҳои path-ро барои бозбинӣ мувофиқ интихоб кунед.
  4. Хулоса, path-ҳои тағйирёфта, дарахт ва баромади patch-ро баррасӣ кунед.

Намуна

Ин намуна нишон медиҳад, ки массивҳои бозтақсимшуда, тағйири timestamp, фарқҳои хеле хурди floating-point ва як ашёи иловашуда бо match keys, tolerance ва қоидаҳои path чӣ гуна маҳдуд мешаванд.

Пеш аз

Вуруд
{
  "orderId": "A-1001",
  "updatedAt": "2026-04-16T08:00:00Z",
  "customer": {
    "name": "Acme Corp",
    "tags": ["vip", "beta"]
  },
  "items": [
    {
      "sku": "A-1",
      "qty": 2,
      "price": 10
    },
    {
      "sku": "B-2",
      "qty": 1,
      "price": 4.5
    }
  ],
  "summary": {
    "currency": "USD",
    "total": 24.5
  }
}

Баъд аз

Вуруд
{
  "orderId": "A-1001",
  "updatedAt": "2026-04-16T08:05:00Z",
  "customer": {
    "name": "Acme Corporation",
    "tags": ["beta", "vip"]
  },
  "items": [
    {
      "sku": "B-2",
      "qty": 1,
      "price": 4.5
    },
    {
      "sku": "A-1",
      "qty": 2,
      "price": 10.0001
    },
    {
      "sku": "C-3",
      "qty": 1,
      "price": 7
    }
  ],
  "summary": {
    "currency": "USD",
    "total": 24.5001
  }
}

Намуна чиро нишон медиҳад

Ин намуна нишон медиҳад, ки массивҳои бозтақсимшуда, тағйири timestamp, фарқҳои хеле хурди floating-point ва як ашёи иловашуда бо match keys, tolerance ва қоидаҳои path чӣ гуна маҳдуд мешаванд.

Чӣ гуна муқоиса кардан

  1. JSON-ро ба чап ва рост часпонед ё бор кунед.
  2. Strict, ignore order, multiset ё match by key(s)-ро интихоб кунед ва қоидаҳои path-ро илова намоед.
  3. Compare-ро иҷро кунед ё агар танҳо санҷиши таҳлил хоҳед, Validate-ро истифода баред.
  4. Вақте ки анҷом шуд, path-ҳои тағйирёфта, patch, merge patch ё гузоришро нусха кунед ё боргирӣ кунед.

Он чӣ карда метавонад

  • JSON-ҳоро ба таври семантикӣ, на сатр ба сатр, муқоиса мекунад.
  • Массивҳоро бо калид(ҳо) мисли id, sku ё code мувофиқ мекунад.
  • Path-ҳоро нодида гиред, path-ҳоро интихоб кунед ё қоидаҳои муқоисаро барои ҳар path татбиқ намоед.
  • Таҳаммулпазирии рақамиро истифода баред, то фарқҳои хурди floating-point ҳамвор шаванд.
  • JSON Patch, JSON Merge Patch, path-ҳои тағйирёфта ва гузориши Markdown-ро содир мекунад.
  • Гиреҳҳои бетағйирро пӯшонида, мустақиман ба path-и мувофиқ мегузарад.

Қоидаҳои муқоиса ва баромад

  • Коркард пурра дар браузер иҷро мешавад. Ҳеҷ чиз бор карда намешавад.
  • Режимҳои массиви strict, ignore-order, multiset ва match-by-key дастгирӣ мешаванд.
  • Path rules ignore, strict, ignore-order, multiset, match-keys ва tolerance-ро дастгирӣ мекунанд.
  • Таҳаммулпазирии рақамӣ танҳо ба ададҳо татбиқ мешавад.
  • Ҳангоми лозим шудан шарҳҳоро пеш аз таҳлил метавон хориҷ кард.
  • Вуруди калон rendering-ро аз summary-first истифода мекунад ва метавонад auto-compare-ро хомӯш кунад.

Саволҳои маъмул

Оё ман метавонам массивҳои объектҳоро бо калид муқоиса кунам?

Ҳа. Match by key(s)-ро истифода баред ва калидҳое мисли id ё sku-ро номбар кунед. Шумо инчунин метавонед қоидаро барои ҳар path аз нав танзим кунед.

Чӣ гуна timestamps ё request ID-ҳоро нодида гирам?

Онҳоро ба Ignore paths илова кунед ё ҳангоми хоҳиши татбиқ шудани истисно танҳо ба як subtree аз path rule истифода баред.

Оё ман метавонам тартиби массивро барои баъзе қисмҳо нигоҳ дорам ва барои баъзеҳо нодида гирам?

Ҳа. Path rules-ро истифода баред, то ignore-order, multiset ё match-keys танҳо дар ҷое ки лозим аст, фаъол кунед.

Оё он JSON-и дорои шарҳро дастгирӣ мекунад?

JSON-и стандартӣ шарҳро иҷозат намедиҳад. Strip comments before parse-ро танҳо вақте фаъол кунед, ки воридоти JSONC-style лозим аст.

Оё чизе ба сервер бор карда мешавад?

Не. Муқоиса, нормализатсия ва содирот ҳама маҳаллӣ дар браузери шумо иҷро мешаванд.

Ман чӣ содир карда метавонам?

JSON Patch, JSON Merge Patch, path-ҳои тағйирёфта ва гузориши Markdown.