JSON数据解析(JSONArray和JSONObject)

1.JSONObject

  • 数据格式:{“名称”:“值”,“名称”:“值”,……}
  • 构造方法:JSONObject(String json),把json格式的字符串创建成一个JSONObject对象。
  • has(String name)方法:判断元素是否存在。
  • get(String name)方法:获取元素的值。

String json={“name”:”jereh”,”homePage”:”www.jereh.com”}

    public void jsonObjectData(String json){
        try {
            JSONObject obj=new JSONObject(json);
            String name="";
            String homePage="";
            if(obj.has("name")){
                name=obj.getString("name");
            }
            if(obj.has("homePage")){
                homePage=obj.getString("homePage");
            }
            Toast.makeText(JsonActivity.this, "姓名:"+name+"主页:"+homePage, Toast.LENGTH_SHORT).show();
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

2.JSONArray

  • 数据格式:[{“名称”:“值”},{“名称”:“值”},{“名称”:“值”},……]
  • 构造方法:JSONArray(String json),把json格式的字符串创建成一个JSONArray对象。
  • length()方法:返回JSONObject的数量。
  • getJSONObject(int index)方法:根据下标返回JSONObject。

String ja=[{“name”:”jereh”,”homePage”:”www.jereh.com”},{“name”:”jerehedu”,”homePage”:”www.jerehedu.com”}];

  public void jsonArrayData(String ja){
        StringBuilder sbd=new StringBuilder();
        try {
            JSONArray jsa=new JSONArray(ja);
            for(int i=0;i<jsa.length();i++){
                JSONObject jo= (JSONObject) jsa.get(i);
                if(jo.has("name")){
                    sbd.append("姓名:"+jo.getString("name"));
                }
                if(jo.has("homePage")){
                    sbd.append("主页"+jo.getString("homePage")+"\n");
                }
            }
            Toast.makeText(JsonActivity.this, sbd.toString(), Toast.LENGTH_SHORT).show();
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

你可能感兴趣的:(json,android,JSONObject,json解析,JsonArray)