2016-01-20 95 views
-4

请帮我解析这个json数组响应。 这是响应json响应。 问题是分裂 “TAG_ID”,TAG_NAMEJsonArray解析

{ 
    "tag": "allcompanyprofiles", 
    "success": 1, 
    "error": 0, 
    "searchresult": [{ 
      "id": "146", 

      "name": "SJB Bookkeeping and Accounting", 
      "slug": "sjb-bookkeeping-and-accounting", 
      "contact_name": "Bernard Newman", 
      "category_id": "7", 
      "description": "hello", 
      "lon": "-79.787231600000", 
      "lat": "43.360581400000", 
      "address": "3425 Harvester unit 206", 
      "city": "Burlington", 
      "state": "Ontario", 
      "postcode": "L7N 3M7", 
      "country": "CA", 
      "phone": "905-335-0081", 
      "email": "[email protected]", 
      "time_frame": "Morning,Afternoon,All Day", 
      "onsite_requirements": "WHIMIS TRAINING", 
      "position": "Accounting, Administration", 
      "oyap": "No", 
      "shsm": "Yes", 
      "summer": "Yes", 
      "virtual": "No", 
      "website": "sjbbookkeeping.com\/", 
      "user_id": "1", 
      "title": "Finance\/Accounting", 
      "dlc_slug": "financeaccounting", 
      "tag_id": ["47", "79"], 
      "tag_name": ["administration", "accounting"] 
     }, { 
      "id": "145", 

      "name": "Length Hair Bar", 
      "slug": "length-hair-bar", 
      "contact_name": "Amalea", 
      "category_id": "29", 
      "description": "hello", 
      "lon": "-79.394569700000", 
      "lat": "43.675291300000", 
      "address": "162A Davenport Road", 
      "city": "Toronto", 
      "state": "Ontario", 
      "postcode": "M5R 1J2", 
      "country": "CA", 
      "phone": "416-823-3755", 
      "email": "[email protected]", 
      "time_frame": "Morning,Afternoon,All Day", 
      "onsite_requirements": "WHIMIS TRAINING", 
      "position": "Hair Stylist Assistant, Customer Service", 
      "oyap": "Yes", 
      "shsm": "Yes", 
      "summer": "Yes", 
      "virtual": "No", 
      "website": "", 
      "user_id": "1", 
      "title": "Esthetics", 
      "dlc_slug": "esthetics", 
      "tag_id": ["178", "177", "179"], 
      "tag_name": ["stylist", "hair", "esthetics"] 
     } 

    ] 
} 

这是我的Android代码。

   JSONObject jobjsearch=new JSONObject(strjson); 

       tag_list=jobjsearch.getString("tag"); 
       success_list=jobjsearch.getString("success"); 
       error_list=jobjsearch.getString("error"); 

       // Total Result Counted 
       total_count = jobjsearch.getString("totalcount"); 

       Log.v("TagSearch",tag_list); 
       Log.v("SuccessSearch",success_list); 
       Log.v("ErrorSearch",error_list); 

       //JsonArray Working 

       JSONArray jarr_list =jobjsearch.getJSONArray("searchresult"); 


       for (int i=0; i<jarr_list.length(); i++) { 

        JSONObject obbj=jarr_list.getJSONObject(i); 

        /////////////////////////// Tagsid 
        tagsid_default=obbj.getString("tag_id"); 
        arrtagsid_list.add(tagsid_default); 

        String CurrentString = "Fruit: they taste good"; 
        String[] separated = CurrentString.split(":"); 

        //Tagsname 

        tagsname_default=obbj.getString("tag_name"); 
        arrtagsname_list.add(tagsname_default); 

        ///////////////////////////////// 

        wesite_default=obbj.getString("website"); 
        arrweb_list.add(wesite_default); 

        email_default=obbj.getString("email"); 

        name_list = obbj.getString("name"); 

        arrname_list.add(name_list); 

        Log.v("Companyname",name_list); 

        // allNames.add(name); 

        address_list = obbj.getString("address"); 

        arraddress_list.add(address_list); 

        Log.v("Companyaddress",address_list); 

        city_list = obbj.getString("city"); 

        arrcity_list.add(city_list); 

        Log.v("Companycity",city_list); 

        state_list = obbj.getString("state"); 

        arrstate_list.add(state_list); 

        Log.v("Companystate",state_list); 

        country_list = obbj.getString("country"); 

        arrcountry_list.add(country_list); 

        Log.v("Companycountry",country_list); 

        //categorytitle 

        categoryid_list=obbj.getString("title"); 

        arrcategoryid_list.add(categoryid_list); 

        Log.v("category",categoryid_list); 

        //title_list=obbj.getString("title"); 
        //arrtitle_list.add(title_list); 

        intro_list=obbj.getString("intro"); 
        arrintro_list.add(intro_list); 


        ///categoryid 
        str_categoryid=obbj.getString("category_id"); 
        arrcategryid_list.add(str_categoryid); 


        //get id in integer variable 

        //pos=obbj.getInt("id"); 
        //arrid_list.add(pos); 

        //get id in string variable 

        str_pos=obbj.getString("id"); 
        arrayid_list.add(str_pos); 


        Log.e("DefaultPosition"+pos,""); 

        //setset.setId(obbj.getString("id")); 
        //setset.setName(obbj.getString("name")); 

       } 
+1

什么是错误? – apmartin1991

+0

显示你的错误日志 –

+0

这是一个数组。将它们视为'JSONArray' – Rohit5k2

回答

1

那些是JSONArray's。把它们当作JSONArray

变化

tagsid_default=obbj.getString("tag_id"); 
arrtagsid_list.add(tagsid_default); 

JSONArray tempId = obbj.getJSONArray("tag_id"); 
for(int i = 0; i< tempId.length(); i++) 
{ 
    arrtagsid_list.add(tempId.get(i).toString()); 
} 

变化

tagsname_default=obbj.getString("tag_name"); 
arrtagsname_list.add(tagsname_default); 

JSONArray tempName = obbj.getJSONArray("tag_name"); 
for(int i = 0; i< tempName.length(); i++) 
{ 
    arrtagsname_list.add(tempName.get(i).toString()); 
} 

注:我强烈地感觉到你试图解析它,这样你就不会做出这样的错误之前,应该阅读有关JSON拳头。这里有basics of JSON