Index: trunk/src/org/openstreetmap/josm/gui/io/importexport/GeoJSONImporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/importexport/GeoJSONImporter.java	(revision 15864)
+++ trunk/src/org/openstreetmap/josm/gui/io/importexport/GeoJSONImporter.java	(revision 15865)
@@ -33,5 +33,5 @@
 
     private static final ExtensionFileFilter FILE_FILTER = ExtensionFileFilter.newFilterWithArchiveExtensions(
-        "geojson,json", "geojson", tr("GeoJSON file") + " (*.geojson, *.geojson.gz, *.geojson.bz2, *.geojson.xz, *.geojson.zip, *.json)",
+        "geojson", "geojson", tr("GeoJSON file") + " (*.geojson, *.geojson.gz, *.geojson.bz2, *.geojson.xz, *.geojson.zip)",
         ExtensionFileFilter.AddArchiveExtension.NONE, Arrays.asList("gz", "bz", "bz2", "xz", "zip"));
 
Index: trunk/src/org/openstreetmap/josm/io/GeoJSONReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/GeoJSONReader.java	(revision 15864)
+++ trunk/src/org/openstreetmap/josm/io/GeoJSONReader.java	(revision 15865)
@@ -74,5 +74,6 @@
     private void parseRoot(final JsonObject object) throws IllegalDataException {
         parseCrs(object.getJsonObject(CRS));
-        switch (object.getString(TYPE)) {
+        switch (Optional.ofNullable(object.getJsonString(TYPE))
+                .orElseThrow(() -> new IllegalDataException("No type")).getString()) {
             case "FeatureCollection":
                 parseFeatureCollection(object.getJsonArray(FEATURES));
Index: trunk/test/unit/org/openstreetmap/josm/io/GeoJSONReaderTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/GeoJSONReaderTest.java	(revision 15864)
+++ trunk/test/unit/org/openstreetmap/josm/io/GeoJSONReaderTest.java	(revision 15865)
@@ -7,5 +7,7 @@
 import static org.junit.Assert.assertTrue;
 
+import java.io.ByteArrayInputStream;
 import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Paths;
@@ -133,4 +135,13 @@
     }
 
+    /**
+     * Test reading a JSON file which is not a proper GeoJSON (type missing).
+     * @throws IllegalDataException always
+     */
+    @Test(expected = IllegalDataException.class)
+    public void testReadGeoJsonWithoutType() throws IllegalDataException {
+        new GeoJSONReader().doParseDataSet(new ByteArrayInputStream("{}".getBytes(StandardCharsets.UTF_8)), null);
+    }
+
     private static boolean areEqualNodes(final OsmPrimitive p1, final OsmPrimitive p2) {
         return (p1 instanceof Node)
