How is this different from a text diff?
A text diff compares lines. This compares structure: both documents are parsed and flattened to dotted paths, then values are matched by path. Different key ordering, different indentation and different whitespace produce no differences, because none of them change the data. That is what you want when comparing API responses.