Jump to content
zephirus

Java - Json parser error

Recommended Posts

zephirus

Olá,

Estou a seguir o tutorial abaixo para obter dados de um webservice:

http://mobile.dzone.com/news/android-tutorial-how-parse

Consigo correr o exemplo que está no site sem qualquer problema mas quando mudo o url para o do meu site: "http://tracking.zephirus.info/?q=my_drupal_pages" e altero as seguintes linhas:

JSONArray earthquakes = json.getJSONArray("earthquakes"); => JSONArray earthquakes = json.getJSONArray("nodes");

map.put("name", "Earthquake name:" + e.getString("eqid")); => map.put("name", "Earthquake name:" + e.getString("title"));

map.put("magnitude", "Magnitude: " + e.getString("magnitude")); => map.put("magnitude", "Magnitude: " + e.getString("body"));

obtenho um erro na minha aplicação (estou a desenvolver para android). O erro é o seguinte: Application has stopped unexpectedly.

É estranho isto acontecer porque os dados são praticamente os mesmos nos dois webservices. Alguém tem uma ideia do que posso estar a fazer mal?

Obrigado

Share this post


Link to post
Share on other sites
HappyHippyHippo

isso não é informação suficiente.

qual as mensagens apresentada no LogCat/Monitor ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
NunoDinis

Os dados que estás a tentar listar vêm de uma BD ? Utilizo um webService numa aplicação que fiz na empresa, e não necessitei de Json.

De quaquer forma, posta o stacktrace aqui. Dizer que a aplicação parou, de facto, será um erro. Temos é que perceber onde está a acontecer :)


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Share this post


Link to post
Share on other sites
zephirus

Obrigado pela vossa ajuda. Os dados vêm de uma bd drupal. Estou a usar um módulo no meu site onde configurei o REST server. Se usar o soapUI ou programas idênticos consigo obter resposta.

Aqui fica o LogCat:

01-05 14:47:58.263: E/log_tag(386): Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject

01-05 14:47:58.263: D/AndroidRuntime(386): Shutting down VM

01-05 14:47:58.273: W/dalvikvm(386): threadid=1: thread exiting with uncaught exception (group=0x40015560)

01-05 14:47:58.273: E/AndroidRuntime(386): FATAL EXCEPTION: main

01-05 14:47:58.273: E/AndroidRuntime(386): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pxr.tutorial.xmltest/com.pxr.tutorial.json.Main}: java.lang.NullPointerException

01-05 14:47:58.273: E/AndroidRuntime(386): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)

01-05 14:47:58.273: E/AndroidRuntime(386): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)

01-05 14:47:58.273: E/AndroidRuntime(386): at android.app.ActivityThread.access$1500(ActivityThread.java:117)

01-05 14:47:58.273: E/AndroidRuntime(386): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)

01-05 14:47:58.273: E/AndroidRuntime(386): at android.os.Handler.dispatchMessage(Handler.java:99)

01-05 14:47:58.273: E/AndroidRuntime(386): at android.os.Looper.loop(Looper.java:123)

01-05 14:47:58.273: E/AndroidRuntime(386): at android.app.ActivityThread.main(ActivityThread.java:3683)

01-05 14:47:58.273: E/AndroidRuntime(386): at java.lang.reflect.Method.invokeNative(Native Method)

01-05 14:47:58.273: E/AndroidRuntime(386): at java.lang.reflect.Method.invoke(Method.java:507)

01-05 14:47:58.273: E/AndroidRuntime(386): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)

01-05 14:47:58.273: E/AndroidRuntime(386): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)

01-05 14:47:58.273: E/AndroidRuntime(386): at dalvik.system.NativeStart.main(Native Method)

01-05 14:47:58.273: E/AndroidRuntime(386): Caused by: java.lang.NullPointerException

01-05 14:47:58.273: E/AndroidRuntime(386): at com.pxr.tutorial.json.Main.onCreate(Main.java:43)

01-05 14:47:58.273: E/AndroidRuntime(386): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

01-05 14:47:58.273: E/AndroidRuntime(386): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)

01-05 14:47:58.273: E/AndroidRuntime(386): ... 11 more

01-05 14:48:00.663: I/Process(386): Sending signal. PID: 386 SIG: 9

Share this post


Link to post
Share on other sites
NunoDinis

Se carregares duas vezes sobre a primeira linha vai-te levar a algum trecho de código ?


Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Share this post


Link to post
Share on other sites
zephirus

UPDATE: aparentemente tinha o url errado. O drupal induziu-me em erro por causa da diferença entre "_" e "-"... damn!

De qualquer forma, neste exemplo já está a funcionar, mas se eu mudar os campos e o url já não funciona.

A funcionar:

url: http://tracking.zephirus.info/my-drupal-pages

fields: title, body

Não funciona:

url: http://rtball.zephirus.info/my-drupal-pages

fields: field_transaction_jogador, field_transaction_valor

Isto poderá estar relacionado com o tipo de de dados dos campos na base de dados???

Se carregares duas vezes sobre a primeira linha vai-te levar a algum trecho de código ?

Não, não me mostra nada. De qualquer forma, parece-me que isto tinha a ver apenas com o facto de eu ter o url errado. Agora não funcionar com o segundo link que coloquei acima é que já não percebo...

Share this post


Link to post
Share on other sites
zephirus

Descobri o problema. Que azelhiçe!!! TInha o meu site em maintenance e assim não conseguia ter acesso à página. Isto porém leva-me a outra questão que tem a ver com as permissões. Suponho que seja possível fazer login e o processo seja idêntico, correcto?

Share this post


Link to post
Share on other sites
NunoDinis
De qualquer forma, neste exemplo já está a funcionar, mas se eu mudar os campos e o url já não funciona.

E que erro te dá agora ? Sempre que te dê um erro novo convém postares logo. É desnecessário estar sempre a pedir.

Edited by NunoDinis

Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Share this post


Link to post
Share on other sites
zephirus

E que erro te dá agora ? Sempre que te dê um erro novo convém postares logo. É desnecessário estar sempre a pedir.

É verdade Nuno. No entanto o erro até era o mesmo e tinha a ver com o facto de a página não estar acessível. De qualquer forma, o facto de ter colocado aqui a questão ajudou-me a conseguir dar a volta ao problema.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.