Skip to content

Instantly share code, notes, and snippets.

@vicziani
Last active May 4, 2020 13:59
Show Gist options
  • Save vicziani/14f35e1dcccb46ec354abcce7c483110 to your computer and use it in GitHub Desktop.
Save vicziani/14f35e1dcccb46ec354abcce7c483110 to your computer and use it in GitHub Desktop.
Rekurzív JSON összehasonlítás Postmanben

Rekurzív JSON összehasonlítás Postmanben

Az összehasonlításhoz a deep-diff könyvtárat fogjuk használni.

A lépések a következők:

  • Át kell másolni a könyvtár minify-olt forráskódját a Collection Pre-request Scripts közé
  • Deklarálni kell ugyanitt a DeepDiff változót, és értéket adni neki
  • Meg kell hívni a DeepDiff függvényt

A forráskódot a következő címről kell átmásolni:

https://raw.githubusercontent.com/flitbit/diff/master/dist/deep-diff.min.js

Ez a this objektumba definiál egy DeepDiff függvényt, és ahhoz, hogy egyszerűen el lehessen érni a tesztjeinkből, a bemásolt forráskód végére a következőt kell írni:

DeepDiff = this.DeepDiff;

Ezután már meg is lehet hívni a Request Tests fülében:

a = {"name":"John Doe"};
b = {"name":"John Doe"};
result = DeepDiff(a, b);
console.log(result);

Ekkor egyezőség van, ekkor undefined értéket ad vissza.

Nézzük két különböző JSON esetén:

a = {"name":"John Doe", 
     "phones": [{"type": "mobile", "number": "123"}, {"type": "mobile2", "number": "123"}]};
b = {"name":"John Doe", 
     "phones": [{"type": "mobile", "number": "123"}, {"type": "mobile2", "number": "124"}]};
result = DeepDiff(a, b);
console.log(result);

Ennek hatására a következő JSON-t fogja visszaadni:

[
   {
      "kind":"E",
      "path":[
         "phones",
         1,
         "number"
      ],
      "lhs":"123",
      "rhs":"124"
   }
]

Ez azt mondja, hogy értékbeli különbség van, a $.phones[1]/number path-on, az első JSON-ben a 123, a második JSON-ben a 124 szöveg szerepel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment