/ Získanie reťazca z JSON Object - android, json

Získajte reťazec z JSON Object - android, json

Musím nasledovať odpoveď zo servera: page:{"result":"ok","id_photo":36782710}. A ja sa snažím získať result odtiaľ takto:

String r=page.toString();
JSONArray jArray = new JSONArray(r);
JSONObject jsdata = r.getJSONObject(0);

String result = jsdata.getString("result");
System.out.println("Raspunsul de la server este:" +result);

Mám však nasledujúcu chybu:

WARN/System.err(30452): org.json.JSONException: Value {"result":"ok","id_photo":36782710} of type org.json.JSONObject cannot be converted to JSONArray
at org.json.JSON.typeMismatch(JSON.java:107)
at org.json.JSONArray.<init>(JSONArray.java:91)
at org.json.JSONArray.<init>(JSONArray.java:103)
at com.Contest.DialogExampleActivity.executeMultiPartPost(DialogExampleActivity.java:131)
at com.Contest.DialogExampleActivity.btnSend_onClick(DialogExampleActivity.java:88)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at android.view.View$1.onClick(View.java:2157)
at android.view.View.performClick(View.java:2534)
at android.view.View$PerformClick.run(View.java:9210)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3701)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
at dalvik.system.NativeStart.main(Native Method

Každý, kto má nejaký nápad?

odpovede:

3 pre odpoveď č. 1

Skúste ju vytvoriť ako objekt JSONObject ako údaje, ktoré analyzujete nie je pole, ale objekt.

JSONObject json = new JSONObject(response);
String result = json.getString("result");

2 pre odpoveď č. 2

Ako uviedol madsleejensen, malo by sa s ním zaobchádzať ako JSONObject nie JSONArray, a pre budúce referencie sa jednoduchá rada líši pri použití správneho typu: JSONObject je pokrytá {} a JSONArray na ktoré sa vzťahuje [].


1 pre odpoveď č. 3

skúste to:

http://www.androidcompetencycenter.com/2009/10/json-parsing-in-android/