Index: trunk/src/org/openstreetmap/josm/io/OsmJsonReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmJsonReader.java	(revision 19645)
+++ trunk/src/org/openstreetmap/josm/io/OsmJsonReader.java	(revision 19646)
@@ -65,5 +65,6 @@
 
     private void parseRoot(JsonObject object) throws IllegalDataException {
-        parseVersion(object.get("version").toString());
+        JsonValue version = object.get("version");
+        parseVersion(version != null ? version.toString() : null);
         parseDownloadPolicy("download", object.getString("download", null));
         parseUploadPolicy("upload", object.getString("upload", null));
Index: trunk/test/unit/org/openstreetmap/josm/io/OsmJsonReaderTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/OsmJsonReaderTest.java	(revision 19645)
+++ trunk/test/unit/org/openstreetmap/josm/io/OsmJsonReaderTest.java	(revision 19646)
@@ -260,4 +260,18 @@
     }
 
+    /**
+     * Non-regression test for ticket #24927. GeoJSON served as {@code application/json} (e.g. by Postpass)
+     * must be reported as illegal data, not crash the reader.
+     */
+    @Test
+    void testTicket24927() {
+        byte[] geoJson = ("{\"type\": \"FeatureCollection\", \"features\": [{\"type\": \"Feature\", " +
+                "\"geometry\": {\"type\": \"Point\", \"coordinates\": [10.1, 20.2]}, " +
+                "\"properties\": {\"tags\": {\"fixme\": \"yes\"}}}]}").getBytes(StandardCharsets.UTF_8);
+        IllegalDataException exception = assertThrows(IllegalDataException.class,
+                () -> OsmJsonReader.parseDataSet(new ByteArrayInputStream(geoJson), NullProgressMonitor.INSTANCE));
+        assertEquals("Missing mandatory attribute 'version'.", exception.getMessage());
+    }
+
     static Stream<Arguments> testException() {
         final byte[] smallJson = "{\"type\", \"node\", \"id\": 1, \"lat\": 1.0, \"lon\": 2.0}".getBytes(StandardCharsets.UTF_8);
