You can implement a set as an object, though. One presumes (not having tried the tool) that it's not sensitive to order differences in object field initializers.
Basically, "set" isn't a native data structure in Javascript, so it doesn't exist in JSON either. You can use arrays for that purpose, but just as with code, you need to be a little careful. Probably you should consider storing all your "sets" in a normalized (e.g. sorted) form.
JavaScript (and thus JSON) arrays are lists, not sets. You can implement sets using arrays, but this diffs JSON, not your implementation of sets.
It diffs arrays "correctly", though not intelligently. If you have [1,2,3,4,5] and [1,3,4,5] it won't tell you the item at index 1 was removed, it will tell you the items at index 1, 2, 3 were changed and index 4 was removed. Thus it does need a little work, but not in the context you described.
Does:
Diff to: Or are they the same?