zgrossbart / jdd

A semantic JSON compare tool
http://www.jsondiff.com
Apache License 2.0
1.05k stars 183 forks source link

Fails for huge JSON documents #1

Closed cristim closed 7 years ago

cristim commented 7 years ago

I tried to compare https://raw.githubusercontent.com/powdahound/ec2instances.info/f34075aa09c52233735cd879ebda3f70d77b7ca5/www/instances.json with https://raw.githubusercontent.com/powdahound/ec2instances.info/ac8f6729ba24df485e42395941045d827be2a67d/www/instances.json

It reports the files as identical (they ovbiously aren't), and the following error shows up in the JS Console: jdd.js:387 Uncaught Unable to find line number for(The right side of this object has more items than the left side): ///60

zgrossbart commented 7 years ago

Hello Cristian,

Thank you for trying out my JSONDiff tool. I tried your two files and I see the same problem that you do. Unfortunately, I don't think there is a way to fix this. Your files are very large (about 1.2 MB). I can't even paste them into pro.jsonlint.com without the browser crashing.

The error message you got is not ideal, but fundamentally the issue is that you ran out of browser memory. Parsing and analyzing JavaScript files like this in the browser just isn't ideal. I could imagine writing a program in Java or C++ (maybe NodeJS) that could parse and analyze this files much faster and without any UI, but that would be a different program than JSONDiff.

If you just can about these two files instead of the larger problem I suggest you try cutting the files into quarters to compare them. It might make them small enough and help you find the difference.

Good luck.

zgrossbart commented 7 years ago

I'm going to close this issue since it is outside of the goals of this project.