嗨,我正在尝试从该 URL 解析json数组。json数组如下所示。
[ { "id":1, "introtext":"\u041b\u0438\u043c\u0443\u0437\u0438\u043d\u0430\u0442\u0430 \u0435 \u043e\u0434 \u0430\u043c\u0435\u0440\u0438\u043a\u0430\u043d\u0441\u043a\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0432\u043e \u0431\u0435\u043b\u0430 \u0431\u043e\u0458\u0430 \u0434\u043e\u043b\u0433\u0430 \u043e\u043a\u043e\u043b\u0443 8,5 \u043c\u0435\u0442\u0440\u0438. \u041e\u043f\u0440\u0435\u043c\u0435\u043d\u0430 \u0435 \u0441\u043e \u043a\u043b\u0438\u043c\u0430 \u0440\u0435\u0434, \u0422\u0412, \u0414\u0412\u0414 \u0438 \u0431\u0430\u0440. \u041c\u043e\u0436\u0430\u0442 \u0434\u0430 \u0441\u0435 \u0432\u043e\u0437\u0430\u0442 \u0434\u043e 9 \u043b\u0438\u0446\u0430. \u0421\u0435 \u0438\u0437\u043d\u0430\u0458\u043c\u0443\u0432\u0430 \u0441\u043e \u043d\u0430\u0448 \u0448\u043e\u0444\u0435\u0440.\n{AdmirorGallery}..\/katalog\/prevoz\/limo-servis-jasmina\/linkoln\/{\/AdmirorGallery}\n\u00a0", "image":"http:\/\/zasvadba.mk\/media\/k2\/items\/cache\/787ae9ec9023a82f5aa7e4c1a64f73cb_S.jpg", "title":"\u041b\u0438\u043c\u0443\u0437\u0438\u043d\u0430 \u041b\u0438\u043d\u043a\u043e\u043b\u043d", "catid":"20", "alias":"\u043b\u0438\u043c\u0443\u0437\u0438\u043d\u0430-\u043b\u0438\u043d\u043a\u043e\u043b\u043d-\u043b\u0438\u043c\u043e-\u0441\u0435\u0440\u0432\u0438\u0441-\u0458\u0430\u0441\u043c\u0438\u043d\u0430" } ]
我在我的java类中这样做
try { JSONfunctions j=new JSONfunctions(); JSONObject json = j.getJSONfromURL(url); Log.i("log_tag", json.toString()); String jsonvalues = json.getString("id"); Log.i("DARE", jsonvalues); } catch (Exception ex) { Log.e("log_tag", "Error getJSONfromURL "+ex.toString()); } }
但这不起作用,有人可以帮我解析我的json数组吗?
您将需要根据您在此处发布的用于解析为Json的字符串在当前代码中进行两次更改:
首先: 将getJSONfromURL方法的返回类型更改为JSONArray并JSONArray从中返回,而不是JSONObject 例如:
getJSONfromURL
JSONArray
JSONObject
public JSONArray getJSONfromURL(String url){ String str_response="response from server"; // convert response to JSONArray JSONArray json_Array=new JSONArray(str_response); return json_Array; //<< retun jsonArray }
第二: 更改代码以获取价值JsonArray :
JsonArray
try { JSONfunctions j=new JSONfunctions(); JSONArray jArray = j.getJSONfromURL(url); Log.i("log_tag", jArray.toString()); for(int i=0;i<jArray.length();i++){ JSONObject json_data = jArray.getJSONObject(i); String jsonvalues = json_data.getString("id"); // .. get all value here Log.i("DARE", jsonvalues); } } catch (Exception ex) { Log.e("log_tag", "Error getJSONfromURL "+ex.toString()); }