Ticket #19632: 19632.patch
| File 19632.patch, 1.7 KB (added by , 6 years ago) |
|---|
-
src/org/openstreetmap/josm/io/GeoJSONWriter.java
1 1 // License: GPL. For details, see LICENSE file. 2 2 package org.openstreetmap.josm.io; 3 3 4 import java.io.StringReader; 4 5 import java.io.StringWriter; 5 6 import java.math.BigDecimal; 6 7 import java.math.RoundingMode; … … 21 22 import javax.json.JsonValue; 22 23 import javax.json.JsonWriter; 23 24 import javax.json.stream.JsonGenerator; 25 import javax.json.stream.JsonParser; 26 import javax.json.stream.JsonParsingException; 24 27 25 28 import org.openstreetmap.josm.data.Bounds; 26 29 import org.openstreetmap.josm.data.coor.EastNorth; … … 182 185 // Properties 183 186 final JsonObjectBuilder propObj = Json.createObjectBuilder(); 184 187 for (Entry<String, String> t : p.getKeys().entrySet()) { 185 propObj.add(t.getKey(), t.getValue());188 propObj.add(t.getKey(), convertValueToJson(t.getValue())); 186 189 } 187 190 final JsonObject prop = propObj.build(); 188 191 … … 200 203 } 201 204 } 202 205 206 private static JsonValue convertValueToJson(String value) { 207 JsonParser parser = Json.createParser(new StringReader(value)); 208 try { 209 if (parser.hasNext() && parser.next() != null) 210 return parser.getValue(); 211 } catch (JsonParsingException e) { 212 Logging.trace(e); 213 } 214 return Json.createValue(value); 215 } 216 203 217 protected void appendLayerBounds(DataSet ds, JsonObjectBuilder object) { 204 218 if (ds != null) { 205 219 Iterator<Bounds> it = ds.getDataSourceBounds().iterator();
