Android 在列表视图中显示json响应

Android 在列表视图中显示json响应,android,json,Android,Json,我想在列表视图中显示json响应。我该怎么去 地区名称、区块名称、俱乐部名称、村庄学校 这是我的密码: { DistrictId: 1, DistrictName: "mys", BlockSchools: [ { BlockId: 1, BlockName: "Adoni", ClusterSchools:

我想在列表视图中显示json响应。我该怎么去

地区名称、区块名称、俱乐部名称、村庄学校

这是我的密码:

          {
            DistrictId: 1,
            DistrictName: "mys",
            BlockSchools: [
            {
            BlockId: 1,
            BlockName: "Adoni",
            ClusterSchools: [
            {
            ClusterId: 1,
            ClusterName: "Giddalur",
            VillageSchools: [
            {
            VillageId: 1,
            VillageName: "Kurly",
            VillageSchools: [
            {
            SchoolId: 37,
            SchoolName: "NORTH CHANGOUBUNG PRIMARY SCHOOL"
            }
            ]
            }
            ]
            }
            ],
            VillageSchools: [
            {
            VillageId: 1,
            VillageName: "Kurly",
            VillageSchools: [
            {
            SchoolId: 37,
            SchoolName: "NORTH CHANGOUBUNG PRIMARY SCHOOL"
            }
            ]
            }
            ]
            }
            ]
            },
代码:

私有类JSONParse
扩展异步任务{
私人对话;
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pDialog=newprogressdialog(JsonActivity.this);
setMessage(“获取数据…”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(真);
pDialog.show();
}
受保护的ArrayList doInBackground(字符串…args){
ArrayList contactList=新建ArrayList();
JSONParser jParser=新的JSONParser();
//从URL获取JSON
JSONObject json=jParser.getJSONFromUrl(url);
试试{
String DistrictName=json.getString(“DistrictName”);
System.out.println(“地区名称:”+地区名称);
//单触点的tmp哈希映射
/*HashMap contact=新的HashMap();
联系人。put(标签名称、地区名称);
//将联系人添加到联系人列表
联系人列表。添加(联系人)*/
}捕获(JSONException e){
e、 printStackTrace();
}
返回联系人列表;
}
@凌驾
受保护的void onPostExecute(ArrayList结果){
super.onPostExecute(结果);
//关闭进度对话框
如果(pDialog.isShowing())pDialog.discouse();
ListAdapter=new SimpleAdapter(JsonActivity.this,result,R.layout.list_项,新字符串[]{TAG_NAME,TAG_EMAIL,TAG_PHONE_MOBILE},new int[]
{R.id.textView1});
低压设置适配器(适配器);
}
}
}

您的json必须如下所示。您缺少

解析

JSONObject json = jParser.getJSONFromUrl(url);
String DistrictName = json.getString("DistrictName");
JSONArray jr = json.getJSONArray("BlockSchools");
JSONObject jb = jr.getJSONObject(0);
JSONArrray jr1 = jb.getJSONArray("ClusterSchools");
JSONObject jb1 = jr1.getJSONObject(0);
String clustername = jb1.getString("ClusterName");
通过查看上面的内容来解析VillagesSchools,其过程相同。只有您有嵌套的jsonarray和JSONObject

"VillageSchools": [  // this is a json array 
                        {  // this is a json object node 
                            "VillageId": 1, 
                            "VillageName": "Kurly",
                            "VillageSchools": [
                                {
                                    "SchoolId": 37,
                                    "SchoolName": "NORTH CHANGOUBUNG PRIMARY SCHOOL"
                                }
                            ]
                        }
                    ]
编辑:


您确定这是一个有效的JSON吗?您当前的尝试如何失败?这个url我想从服务器检索响应,我怎么做这个url我想从服务器检索响应,我怎么做this@user3114723我贴了一个例子。我不会为你编码。如果您对示例有问题或有疑问,我将帮助您好,先生,我正在使用该链接检索响应,如何才能做到这一点one@user3114723因此,检索它并解析它。如果您正在寻找完整的代码sorry@user3114723json中几乎没有重复的数据。我不认为那是你想要的
JSONObject json = jParser.getJSONFromUrl(url);
String DistrictName = json.getString("DistrictName");
JSONArray jr = json.getJSONArray("BlockSchools");
JSONObject jb = jr.getJSONObject(0);
JSONArrray jr1 = jb.getJSONArray("ClusterSchools");
JSONObject jb1 = jr1.getJSONObject(0);
String clustername = jb1.getString("ClusterName");
"VillageSchools": [  // this is a json array 
                        {  // this is a json object node 
                            "VillageId": 1, 
                            "VillageName": "Kurly",
                            "VillageSchools": [
                                {
                                    "SchoolId": 37,
                                    "SchoolName": "NORTH CHANGOUBUNG PRIMARY SCHOOL"
                                }
                            ]
                        }
                    ]
        JSONArray jarray = jParser.getJSONFromUrl(url);
        for(int i=0;i<jarray.length();i++)
        {
        JSONObject json = jarray.getJSONObject(i);
        String DistrictName = json.getString("DistrictName");
        Log.i(".............",DistrictName );
        JSONArray jr = json.getJSONArray("BlockSchools");
        JSONObject jb = jr.getJSONObject(0);
        JSONArray jr1 = jb.getJSONArray("ClusterSchools");
        JSONObject jb1 = jr1.getJSONObject(0);
        String clustername = jb1.getString("ClusterName");
        Log.i(".............",clustername  );
        JSONArray villageschools = jb1.getJSONArray("VillageSchools");
        JSONObject jsonb = villageschools.getJSONObject(0);
        String nameschool = jsonb.getString("VillageName");
        Log.i(".............",nameschool);
        JSONArray inner = jsonb.getJSONArray("VillageSchools");
        JSONObject innerjb = inner.getJSONObject(0);
        String id= innerjb.getString("SchoolId");
        String name= innerjb.getString("SchoolName");
        Log.i(".............",id);
        Log.i(".............",name);
04-01 07:40:53.527: I/.............(1525): mys
04-01 07:40:53.527: I/.............(1525): Giddalur
04-01 07:40:53.537: I/.............(1525): Kurly
04-01 07:40:53.537: I/.............(1525): 37
04-01 07:40:53.537: I/.............(1525): NORTH CHANGOUBUNG PRIMARY SCHOOL
04-01 07:40:53.537: I/.............(1525): krishna
04-01 07:40:53.537: I/.............(1525): chikaballapura
04-01 07:40:53.537: I/.............(1525): TUMUYON KHULLEN
04-01 07:40:53.537: I/.............(1525): 38
04-01 07:40:53.537: I/.............(1525): IRANG PUBLIC JUNIOR ENGLISH SCHOOL