JsonArray解析
问题描述:
请帮我解析这个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"));
}
答
那些是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
什么是错误? – apmartin1991
显示你的错误日志 –
这是一个数组。将它们视为'JSONArray' – Rohit5k2