java - JSON Exception when trying to retrieve object string -
i'm trying retrieve "maxspeed" string json below. iterates through array, when reaches "tag" object , tries retrieve "maxspeed" value, returns exception(below).
would know why happening? appreciated.
thanks.
exception:
org.json.jsonexception: no value maxspeed
java:
jsonobject parentobject = new jsonobject(result); jsonarray speedjson = parentobject.getjsonarray("elements"); (int = 0; < speedjson.length(); i++) { jsonobject element = (jsonobject) speedjson.get(i); if (!element.isnull("tags")) { //jsonobject tags = (jsonobject) speedjson.getjsonobject(i).get("tags"); string maxspeed = element.getstring("maxspeed"); txtspeed.settext(maxspeed+" here"); } else { //your error handling here... } } //txtspeed.settext(""+); this.progressdialog.dismiss();
json:
{ "version": 0.6, "generator": "overpass api", "osm3s": { "timestamp_osm_base": "2015-03-16t20:10:02z", "copyright": "the data included in document www.openstreetmap.org. data made available under odbl." }, "elements": [ { "type": "node", "id": 768053039, "lat": 54.9526671, "lon": -7.7273348 }, { "type": "node", "id": 768053040, "lat": 54.9498094, "lon": -7.7176056 }, { "type": "node", "id": 768053041, "lat": 54.9497066, "lon": -7.7173174 }, { "type": "node", "id": 768053043, "lat": 54.9495658, "lon": -7.7170937 }, { "type": "node", "id": 768053044, "lat": 54.9495035, "lon": -7.7169816 }, { "type": "node", "id": 791492493, "lat": 54.9494183, "lon": -7.7168205 }, { "type": "node", "id": 795319854, "lat": 54.9510427, "lon": -7.7218262 }, { "type": "node", "id": 795320324, "lat": 54.9509153, "lon": -7.7213706 }, { "type": "node", "id": 1922546572, "lat": 54.9502165, "lon": -7.7190169 }, { "type": "node", "id": 1922546679, "lat": 54.9504739, "lon": -7.7199078 }, { "type": "node", "id": 1922546692, "lat": 54.9500860, "lon": -7.7185174 }, { "type": "node", "id": 1922602861, "lat": 54.9517250, "lon": -7.7241644 }, { "type": "node", "id": 1922622063, "lat": 54.9514357, "lon": -7.7231690 }, { "type": "node", "id": 2673934802, "lat": 54.9498543, "lon": -7.7177617 }, { "type": "way", "id": 64273241, "nodes": [ 768053039, 1922602861, 1922622063, 795319854, 795320324 ], "tags": { "highway": "secondary", "maxspeed": "60", "name": "port road", "oneway": "no", "ref": "r229" } }, { "type": "way", "id": 64887990, "nodes": [ 795320324, 1922546679, 1922546572, 1922546692, 2673934802, 768053040, 768053041, 768053043, 768053044, 791492493 ], "tags": { "highway": "secondary", "maxspeed": "60", "name": "port road", "oneway": "no", "ref": "r229" } } ] }
you trying maxspeed element
, it's not there. inside tags
object in element
.
you need this
if (!element.isnull("tags")) { jsonobject tags = element.getjsonobject("tags"); string maxspeed = tags.getstring("maxspeed"); txtspeed.settext(maxspeed+" here"); } else { //your error handling here... }
Comments
Post a Comment