android - Parsing JSON from url with exception: Error parsing data org.json.JSONException: Unterminated array at character 115 -
i'm parsing url , i've got exception , don't know how skip over... need names of 100 popular apps. there key "im:name" , inside of key "lebel", see invalid jsonarray, need find way names key "im:name"... has smb ideas how can fix this?
this asynctask.class
public class asynctaskparsejson extends asynctask<string, string, string> { string jsonstringurl = "https://itunes.apple.com/br/rss/topfreeapplications/limit=100/json"; jsonarray datajsonarr = null; @override protected void onpreexecute() {} @override protected string doinbackground(string... arg0) { try { // instantiate our json parser jsonparser jparser = new jsonparser(); // json string url jsonobject json = jparser.getjsonfromurl(jsonstringurl); // array of users //here need change datajsonarr = json.getjsonarray("feed"); // wrong // loop through users (int = 0; < datajsonarr.length(); i++) { jsonobject c = datajsonarr.getjsonobject(i); // storing each json item in variable string name = c.getstring("im:name");//probably wrong } } catch (jsonexception e) { e.printstacktrace(); } return null; } }
and log
09-10 20:04:03.013 18211-18241/com.yuretsrodik.top100apps e/jsonparser.java﹕ error parsing data org.json.jsonexception: unterminated array @ character 115 of {"feed":{"author":{"name":{"label":"itunes store"}, "uri":{"label":"http://www.apple.com/br/itunes/"}}, "entry":[n{"im:name":{"label":"messenger"}, "im:image":[n{"label":"http://a474.phobos.apple.com/us/r30/purple4/v4/78/1f/f9/781ff9ea-bf94-5309-4c32-4b901279e54a/mzl.rairyzma.53x53-50.png", "attributes":{"height":"53"}}, n{"label":"http://a990.phobos.apple.com/us/r30/purple4/v4/78/1f/f9/781ff9ea-bf94-5309-4c32-4b901279e54a/mzl.rairyzma.75x75-65.png", "attributes":{"height":"75"}}, n{"label":"http://a1675.phobos.apple.com/us/r30/purple4/v4/78/1f/f9/781ff9ea-bf94-5309-4c32-4b901279e54a/mzl.rairyzma.100x100-75.png", "attributes":{"height":"100"}}], "summary":{"label":"lcance instantaneamente pessoas na sua vida, gratuitamente. o messenger é como mensagens de texto, mas você não precisa pagar por cada mensagem (funciona com o seu plano de dados). \n\nnão é só para amigos no facebook: envie mensagens para pessoas na sua agenda de contatos e basta inserir um número de telefone para adicionar um novo contato.\n\nbate-papos em grupo: crie grupos para pessoas quem você mais envia mensagens. dê um nome eles, defina fotos para o grupo e os mantenha em um só lugar.\n\nfotos e vÃdeos: grave vÃdeos e tire selfies ou outras fotos diretamente aplicativo e envie-os com um toque.\n\nligações gratuitas: fale por quanto tempo quiser, mesmo com pessoas em outros paÃses. (ligações são gratuitas somente através wi-fi. contrário, cobranças de dados padrão são aplicáveis).\n\nmais formas de enviar mensagens: \ndê vida à s suas conversas com figurinhas. \nveja uma prévia das suas fotos e vÃdeos no rolo da câmera sem sair da conversa, e escolha melhores para enviar.\ngrave mensagens de voz quando tiver mais para dizer\n\nrecursos adicionais:\nsaiba quando pessoas viram suas mensagens.\nencaminhe mensagens ou fotos para pessoas que não estavam na conversa.\nprocure pessoas e grupos para entrar em contato com eles rapidamente.\native localização para que pessoas saibam que você está nas imediações.\nveja quem está disponÃvel no messenger e quem está on-line no facebook. \ndesative notificações quando você estiver trabalhando, dormindo ou se precisar dar um tempo.\nfique conectado para nunca perder uma mensagem."}, "im:price":{"label":"grátis", "attributes":{"amount":"0.00000", "currency":"usd"}}, "im:contenttype":{"attributes":{"term":"application", "label":"aplicativo"}}, "rights":{"label":"© facebook, inc."}, "title":{"label":"messenger - facebook, inc."}, "link":{"attributes":{"rel":"alternate", "type":"text/html", "href":"https://itunes.apple.com/br/app/messenger/id454638411?mt=8&uo=2"}}, "id":{"label":"https://itunes.apple.com/br/app/messenger/id454638411?mt=8&uo=2", "attributes":{"im:id":"454638411", "im:bundleid":"com.facebook.messenger"}}, "im:artist":{"label":"facebook, inc.", "attributes":{"href":"https://itunes.apple.com/br/artist/facebook-inc./id284882218?mt=8&uo=2"}}, "category":{"attributes":{"im:id":"6005", "term":"social networking", "scheme":"https://itunes.apple.com/br/genre/ios-redes-sociais/id6005?mt=8&uo=2", "label":"redes sociais"}}, "im:releasedate":{"label":"2011-10-19t15:39:30-07:00", "attributes":{"label":"19/10/2011"}}}, n{"im:name":{"label":"whatsapp messenger"}, "im:image":[n{"label":"http://a1554.phobos.apple.com/us/r30/purple1/v4/1f/94/ff/1f94ffd9-159e-a247-2c0f-059f86b6c6c9/mzl.ivmblqpq.53x53-50.png", "attributes":{"height":"53"}}, n{"label":"http://a422.phobos.apple.com/us/r30/purple1/v4/1f/94/ff/1f94ffd9-159e-a247-2c0f-059f86b6c6c9/mzl.ivmblqpq.75x75-65.png", "attributes":{"height":"75"}}, n{"label":"http://a1251.phobos.apple.com/us/r30/purple1/v4/1f/94/ff/1f94ffd9-159e-a247-2c0f-059f86b6c6c9/mzl.ivmblqpq.100x100-75.png", "attributes":{"height":"100"}}], "summary":{"label":"o whatsapp messenger é um mensageiro para smartphone 09-10 20:04:03.013 18211-18241/com.yuretsrodik.top100apps w/dalvikvm﹕ threadid=11: thread exiting uncaught exception (group=0x42044e48) 09-10 20:04:03.023 18211-18241/com.yuretsrodik.top100apps e/androidruntime﹕ fatal exception: asynctask #1 process: com.yuretsrodik.top100apps, pid: 18211 java.lang.runtimeexception: error occured while executing doinbackground() @ android.os.asynctask$3.done(asynctask.java:300) @ java.util.concurrent.futuretask.finishcompletion(futuretask.java:355) @ java.util.concurrent.futuretask.setexception(futuretask.java:222) @ java.util.concurrent.futuretask.run(futuretask.java:242) @ android.os.asynctask$serialexecutor$1.run(asynctask.java:231) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1112) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:587) @ java.lang.thread.run(thread.java:841) caused by: java.lang.nullpointerexception @ com.yuretsrodik.top100apps.asynctaskparsejson.doinbackground(asynctaskparsejson.java:32) @ com.yuretsrodik.top100apps.asynctaskparsejson.doinbackground(asynctaskparsejson.java:10) @ android.os.asynctask$2.call(asynctask.java:288) @ java.util.concurrent.futuretask.run(futuretask.java:237) at android.os.asynctask$serialexecutor$1.run(asynctask.java:231) at java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1112) at java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:587) at java.lang.thread.run(thread.java:841)
will very thanksful help!! cuz i'm stack(
first make call result string called json. have convert string json object
string json = null; jsonobject jsonobj = null; jsonobject feedsobject = null; json = jparser.getjsonfromurl(jsonstringurl); if (json != null) { try { jsonobj = new jsonobject(json); feedobject = jsonobj.getjsonobject("feed");
for better understanding visit http://json.parser.online.fr/beta/ , paste json data there. on right have settings button---> show types can find objects, strings , arrays
see image below. trying object not array
Comments
Post a Comment