According to JSONAssert {"Foo":1} == {"Foo":1.0}, but [{"Foo":1}] != [{"Foo":1.0}]. It seems to be deciding to use the number as a "unique key" to determine object identity within the array, which is an invalid assumption in this case.
I would expect JSONAssert to at least parse the value of each field when deciding if they are unequal across all objects in the array (and thus suitable to be used as the unique key).
According to JSONAssert
{"Foo":1} == {"Foo":1.0}
, but[{"Foo":1}] != [{"Foo":1.0}]
. It seems to be deciding to use the number as a "unique key" to determine object identity within the array, which is an invalid assumption in this case.I would expect JSONAssert to at least parse the value of each field when deciding if they are unequal across all objects in the array (and thus suitable to be used as the unique key).
Test case included below.