Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/OdConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/OdConstants.java	(revision 35274)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/OdConstants.java	(revision 35275)
@@ -90,4 +90,6 @@
     public static final String JAR_EXT = "jar";
     public static final String XML_EXT = "xml";
+    public static final String JSON_EXT = "json";
+    public static final String GEOJSON_EXT = "geojson";
 
     /**
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/NetworkReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/NetworkReader.java	(revision 35274)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/NetworkReader.java	(revision 35275)
@@ -14,4 +14,5 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.AbstractReader;
+import org.openstreetmap.josm.io.GeoJSONReader;
 import org.openstreetmap.josm.io.OsmServerReader;
 import org.openstreetmap.josm.io.OsmTransferException;
@@ -57,4 +58,6 @@
         FILE_READERS.put(OdConstants.MIF_EXT, MifReader.class);
         FILE_READERS.put(OdConstants.TAB_EXT, TabReader.class);
+        FILE_READERS.put(OdConstants.JSON_EXT, GeoJSONReader.class);
+        FILE_READERS.put(OdConstants.GEOJSON_EXT, GeoJSONReader.class);
     }
 
@@ -101,4 +104,6 @@
         } else if (contentType.startsWith("application/vnd.ms-excel")) {
             return XlsReader.class;
+        } else if (contentType.startsWith("application/geo+json") || contentType.startsWith("application/json")) {
+            return GeoJSONReader.class;
         } else if (contentType.startsWith("application/octet-stream")) {
             //return OdsReader.class;//FIXME, can be anything
@@ -159,4 +164,6 @@
             } else if (readerClass.equals(KmzReader.class)) {
                 return KmzReader.parseDataSet(in, instance);
+            } else if (readerClass.equals(GeoJSONReader.class)) {
+                return GeoJSONReader.parseDataSet(in, instance);
             } else if (readerClass.equals(MifReader.class)) {
                 return MifReader.parseDataSet(in, null, handler, instance);
