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

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

[C++][SFML 2.2] Strange Performance Issues - Moving Mouse Lowers CPU Usage -

ios - Possible to get UIButton sizeThatFits to work? -