本帖最后由 huangxulei 于 2014-5-7 12:10 编辑
数据库结构
php处理生成json代码
网络json数据
- {"parent":
[{"id":"1","name":"按品牌选择","pid":"0"},{"id":"3","name":"按产品选
择","pid":"0"},{"id":"4","name":"按发质选择","pid":"0"},{"id":"5","name":"按头皮选
择","pid":"0"}],"sub":{"1":[{"id":"16","name":"Wella威娜","pid":"1"},
{"id":"17","name":"L'OREAL欧莱雅","pid":"1"},{"id":"18","name":"KERASTASE卡
诗","pid":"1"},{"id":"19","name":"Schwarzkopf施华蔻","pid":"1"},
{"id":"20","name":"MATRIX美奇丝","pid":"1"}],"3":[{"id":"21","name":"洗发水/洗发
露/洗发乳","pid":"3"},{"id":"22","name":"护发素/护发露","pid":"3"},
{"id":"23","name":"发膜/倒膜","pid":"3"},{"id":"24","name":"造型品","pid":"3"},
{"id":"25","name":"染发","pid":"3"},{"id":"26","name":"沐浴露","pid":"3"},
{"id":"27","name":"烫发","pid":"3"}],"4":[{"id":"28","name":"干枯/受损发
质","pid":"4"},{"id":"29","name":"毛躁发质","pid":"4"},{"id":"30","name":"脆弱易
断发质","pid":"4"},{"id":"31","name":"发色黯淡发质","pid":"4"},
{"id":"32","name":"染后发质","pid":"4"},{"id":"33","name":"烫后发质","pid":"4"},
{"id":"34","name":"细软扁塌油性发质","pid":"4"}],"5":[{"id":"35","name":"针对头皮
屑","pid":"5"},{"id":"36","name":"针对油性头皮","pid":"5"},{"id":"37","name":"针
对脱发","pid":"5"},{"id":"38","name":"针对敏感头皮","pid":"5"}]}}
复制代码 解析成一维父级 以及二维子级 注意childs groups数组以及先定义好 只是把上面json数据读取存入两个数组中而已 url就是json数据
- //类别数组 第一级和第二级
- private void getData() {
- String url = "http://www./anko/index.php?a=cate&m=Index&g=API";
- try {
- String jsonstring = GetNetData.getResultForHttpGet(url);
- JSONObject result = new JSONObject(jsonstring);
- JSONArray groupslist = result.getJSONArray("parent");
- JSONObject sub = result.getJSONObject("sub");
- int length = groupslist.length();
- groups = new String[length];
- //定义第一维长度
- childs = new String[length][];
- for (int i = 0; i < length; i++) {
- JSONObject oj = groupslist.getJSONObject(i);
- groups[i] = oj.getString("name");
- JSONArray jsid = sub.getJSONArray(oj.getString("id"));
- int idlen = jsid.length();
- //定义第二维长度
- childs[i]=new String[idlen];
- for (int j = 0; j < idlen; j++) {
- JSONObject idoj = jsid.getJSONObject(j);
- childs[i][j] = idoj.getString("name").toString();
- Log.v("name", childs[i][j]);
- }
- }
- } catch (ClientProtocolException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (JSONException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
复制代码
|