Android problems with parsing json -
hello i'm trying parse json website. te jsonstring te httpresponse working fine when try parse in jsonobject gives npe. json im testing right now:
{ "galgjejson" : { "nederlands" : { "length7" : [ { "word" : "android" }, { "word" : "camping" }, { "word" : "koekjes" } ] }, { "length8" : [ { "word" : "androids" }, { "word" : "campings" }, { "word" : "campings" }, { "word" : "campings" }, { "word" : "campings" }, { "word" : "campings" }, { "word" : "scheppen" } ] }, { "length9" : [ { "word" : "verslapen" }, { "word" : "versleten" }, { "word" : "verbrande" } ] }, { "length10" : [ { "word" : "verslapend" }, { "word" : "versletend" }, { "word" : "verbranden" }, { "word" : "verbranden" }, { "word" : "verbranden" } ] }, { "length11" : [ { "word" : "verslapende" }, { "word" : "versletende" } ] }, { "length12" : [ { "word" : "verslapenden" } ] } }, { "english" : { "length7" : [ { "word" : "leavers" }, { "word" : "shoping" }, { "word" : "cooking" } ] }, { "length8" : [ { "word" : "stopping" }, { "word" : "sleeping" }, { "word" : "starting" }, { "word" : "starting" }, { "word" : "starting" }, { "word" : "starting" }, { "word" : "starting" } ] }, { "length9" : [ { "word" : "somewordd" }, { "word" : "somewordd" }, { "word" : "somewordd" } ] }, { "length10" : [ { "word" : "someworddd" }, { "word" : "someworddd" } ] }, { "length11" : [ { "word" : "somewordddd" }, { "word" : "somewordddd" }, { "word" : "somewordddd" }, { "word" : "somewordddd" }, { "word" : "somewordddd" } ] }, { "length12" : [ { "word" : "someworddddd" }, { "word" : "someworddddd" }, { "word" : "someworddddd" } ] } } }
the method made:
public mikeyjson(string jsonstring) { log.i("json", "jsonstring: " + jsonstring); try { jsonobject myobject = new jsonobject(jsonstring); log.i("json", "myobject_object: " + myobject.tostring()); } catch (jsonexception e) { // todo auto-generated catch block e.printstacktrace(); } } public string getresult(string lang, string length, int wordpos) { string word = "0"; try { langobject = myobject.getjsonobject(lang); log.i("json", "language_object " + langobject.tostring()); lengthobject = langobject.getjsonobject(length); log.i("json", "wordlength_object " + lengthobject.tostring()); wordarray = lengthobject.getjsonarray(length); log.i("json", "wordlength_object " + wordarray.tostring()); if(wordpos>wordarray.length()) { wordpos = 0; } for(i=0;i<wordarray.length();i++){ word = wordarray.getjsonobject(wordpos).tostring(); } log.i("json", "word_object " + word); } catch (jsonexception e) { // todo auto-generated catch block e.printstacktrace(); } return word; } }
what i'm trying retrieve 1 word of given language , length. made after alot of research don't why won't work. if json invalid pleas tell me i'm doing wrong, becuase error before npe:
03-18 09:17:40.052: w/system.err(1464): org.json.jsonexception: names must strings, {"length8":[{"word":"androids"},{"word":"campings"},{"word":"campings"}, {"word":"campings"},{"word":"campings"},{"word":"campings"},{"word":"scheppen"}]} of type org.json.jsonobject @ character 514 of { "galgjejson" : 03-18 09:17:40.052: w/system.err(1464): { "nederlands" : 03-18 09:17:40.052: w/system.err(1464): { "length7" : [ 03-18 09:17:40.052: w/system.err(1464): { "word" : "android" }, 03-18 09:17:40.052: w/system.err(1464): { "word" : "camping" }, 03-18 09:17:40.052: w/system.err(1464): { "word" : "koekjes" } 03-18 09:17:40.062: w/system.err(1464): ] 03-18 09:17:40.062: w/system.err(1464): }, 03-18 09:17:40.072: w/system.err(1464): { "length8" : [ 03-18 09:17:40.072: w/system.err(1464): { "word" : "androids" }, 03-18 09:17:40.072: w/system.err(1464): { "word" : "campings" }, 03-18 09:17:40.072: w/system.err(1464): { "word" : "campings" }, 03-18 09:17:40.072: w/system.err(1464): { "word" : "campings" }, 03-18 09:17:40.072: w/system.err(1464): { "word" : "campings" }, 03-18 09:17:40.072: w/system.err(1464): { "word" : "campings" }, 03-18 09:17:40.072: w/system.err(1464): { "word" : "scheppen" } 03-18 09:17:40.072: w/system.err(1464): ] 03-18 09:17:40.082: w/system.err(1464): }, 03-18 09:17:40.092: w/system.err(1464): { "length9" : [ 03-18 09:17:40.092: w/system.err(1464): { "word" : "verslapen" }, 03-18 09:17:40.092: w/system.err(1464): { "word" : "versleten" }, 03-18 09:17:40.102: w/system.err(1464): { "word" : "verbrande" } 03-18 09:17:40.102: w/system.err(1464): ] 03-18 09:17:40.102: w/system.err(1464): }, 03-18 09:17:40.102: w/system.err(1464): { "length10" : [ 03-18 09:17:40.102: w/system.err(1464): { "word" : "verslapend" }, 03-18 09:17:40.102: w/system.err(1464): { "word" : "versletend" }, 03-18 09:17:40.102: w/system.err(1464): { "word" : "verbranden" }, 03-18 09:17:40.102: w/system.err(1464): { "word" : "verbranden" }, 03-18 09:17:40.112: w/system.err(1464): { "word" : "verbranden" } 03-18 09:17:40.112: w/system.err(1464): ] 03-18 09:17:40.112: w/system.err(1464): }, 03-18 09:17:40.122: w/system.err(1464): { "length11" : [ 03-18 09:17:40.122: w/system.err(1464): { "word" : "verslapende" }, 03-18 09:17:40.122: w/system.err(1464): { "word" : "versletende" } 03-18 09:17:40.122: w/system.err(1464): ] 03-18 09:17:40.132: w/system.err(1464): }, 03-18 09:17:40.132: w/system.err(1464): { "length12" : [ 03-18 09:17:40.132: w/system.err(1464): { "word" : "verslapenden" }, 03-18 09:17:40.132: w/system.err(1464): ] 03-18 09:17:40.132: w/system.err(1464): } 03-18 09:17:40.142: w/system.err(1464): }, 03-18 09:17:40.142: w/system.err(1464): { "english" : 03-18 09:17:40.142: w/system.err(1464): { "length7" : [ 03-18 09:17:40.152: w/system.err(1464): { "word" : "leavers" }, 03-18 09:17:40.152: w/system.err(1464): { "word" : "shoping" }, 03-18 09:17:40.152: w/system.err(1464): { "word" : "cooking" }
your json invalid - correct format:
{ "nederlands" : [ { "length7" : [ { "word" : "android" }, { "word" : "camping" }, { "word" : "koekjes" } ] }, { "length8" : [ { "word" : "androids" }, { "word" : "campings" }, { "word" : "campings" }, { "word" : "campings" }, { "word" : "campings" }, { "word" : "campings" }, { "word" : "scheppen" } ] }] }
at moment, "nederlands" in format of jsonarray (it's holding multiple jsonobjects) response missing square brackets. if parse "nederlands" jsonarray , remove "length" jsonobjects 1 one should able make work
Comments
Post a Comment