I’m by no means an expert in GZIP compression. What I’d do at this point, is to check if the description given by the file command on your .xpj file is the same given for a “regular” .gz file obtained via the “gzip” command.
If they differ somehow, and the “regular” .gz file decompresses ok while your .xpj doesn’t, then I’d investigate further on that, using the different descriptions as hint for a Google search. If they match, I’d be quite out of ideas then…
Empty22.json.gz: gzip compressed data, from Unix, original size modulo 2^32 1286506
so, looks like the xpj has specified an original file size of 0, which is probably causing the problem. Looks like things like winzip, gzip handle this case but the JUCE code doesn’t.