如何解析JSON字符串Android
我正在尝试解析下面的JSONString
[[{"0":" ","title":" Technical Support Analyst in Noida","1":" ","Company Name":" Oracle","2":" ","Category":"Fresher","3":" ","Job Type":"Full Time","4":" ","Location":"Noida","5":" ","Job Qualification":"BE\/BTch\/Bsc\/Others","6":" ","Job Experience":"Freshers","7":" ","Job postdate":"2013-6-05","8":" "}]]
我的代码:
// try parse the string to a JSON object try { //jObj = new JSONObject(JsonString); JSONArray ja = new JSONArray(result); int size = ja.length(); Log.d("tag", "No of Elements " + ja.length()); } catch (JSONException e) { Log.e("JSON Parser", "Error parsing data " + e.toString()); }
任何人都可以帮忙,我的守则不起作用? 我想解析标题,公司名称,类别等…
您需要从jsonstring创建JSONArray
。
您在JSONArray
有JSONArray
,然后是JSONObect
..
try { JSONArray ja = new JSONArray(buffer.toString()); JSONArray innerJsonArray = ja.getJsonArray(0); JSONObject object = innerJsonArray.getJSONObject(0); String title = object.getString("title"); } catch (JSONException e) { Log.e("JSON Parser", "Error parsing data " + e.toString()); }
使用我编写的本机工具和Gson库来查看这个Json解析指南:
Json解析
也许你会发现它很有用。 您也可以从那里下载完整的项目,以便自己运行和测试。
你需要构建你的json。
没有名为“result”的数组。 你要做的是用一个唯一的名称命名json的每个元素,以便获取它。
如
{"result": ["result1":["result2":{"0":" ","title":" Technical Support Analyst in Noida","1":" ","Company Name":" Oracle","2":" ","Category":"Fresher","3":" ","Job Type":"Full Time","4":" ","Location":"Noida","5":" ","Job Qualification":"BE\/BTch\/Bsc\/Others","6":" ","Job Experience":"Freshers","7":" ","Job postdate":"2013-6-05","8":" "}]]}
您可以尝试下面的代码来解析JSON
{ "result": "success", "countryCodeList": [ {"countryCode":"00","countryName":"World Wide"}, {"countryCode":"kr","countryName":"Korea, Republic of"}, {"countryCode":"us","countryName":"United States"}, {"countryCode":"jp","countryName":"Japan"}, {"countryCode":"cn","countryName":"China"}, {"countryCode":"in","countryName":"India"} ] }
解析代码
public static ArrayList ParseJson(String jsonstring) { ArrayList arrCountries = new ArrayList (); String status; String message = ""; try { JSONObject json = new JSONObject(jsonstring); status = json.getString("result"); if (status.equalsIgnoreCase("success")) { JSONArray nameArray = json.names(); JSONArray valArray = json.toJSONArray(nameArray); JSONArray valArray1 = valArray.getJSONArray(1); valArray1.toString().replace("[", ""); valArray1.toString().replace("]", ""); int len = valArray1.length(); for (int i = 0; i < valArray1.length(); i++) { Country country = new Country(); JSONObject arr = valArray1.getJSONObject(i); country.setCountryCode(arr.getString("countryCode")); country.setCountryName(arr.getString("countryName")); arrCountries.add(country); } } } catch (JSONException e) { Log.e("JSON", "There was an error parsing the JSON", e); } return arrCountries; }