-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
For the following two similar objects
a = [
{key: 'a', value: '0'},
{key: 'BUG', value: ''},
{key: 'c', value: '1'},
{key: 'd', value: '2'},
{key: 'e', value: '3'},
{key: 'f', value: '4'},
{key: 'g', value: '5'},
{key: 'BUG', value: ''}
]
b = [
{key: 'a', value: '0'},
{key: 'BUG', value: ''},
{key: 'c', value: '1'},
{key: 'd', value: '2'},
{key: 'e', value: '3'},
{key: 'f', value: '4'},
{key: 'g', value: '5'},
{key: 'BUG', value: ''}
]
JsonDiff.diff(a, b)
returns the following diff
[{"op"=>"move", "from"=>"/7", "path"=>"/1"}, {"op"=>"move", "from"=>"/2", "path"=>"/7"}]
which is replacing the similar lines with each other.
Strangely, if we remove any of the a/c/d/e/f/g lines in both objects, the bug isn't there anymore, e.g.
a = [
{key: 'BUG', value: ''},
{key: 'c', value: '1'},
{key: 'd', value: '2'},
{key: 'e', value: '3'},
{key: 'f', value: '4'},
{key: 'g', value: '5'},
{key: 'BUG', value: ''}
]
b = [
{key: 'BUG', value: ''},
{key: 'c', value: '1'},
{key: 'd', value: '2'},
{key: 'e', value: '3'},
{key: 'f', value: '4'},
{key: 'g', value: '5'},
{key: 'BUG', value: ''}
]
JsonDiff.diff(a, b)
=> []
Metadata
Metadata
Assignees
Labels
No labels