将每一级的数组封装成树形

传入一个cid,返回一个数组类型数据,在传入数组中的cid,返回子类别数组数据,直到没有子类别
 
 
例子:
将:
 [
{
"cid","123",
name:"标题1"
},
{
"cid","1234",
name:"标题1"
},
{
"cid","12345",
name:"标题1"
}
]
封装成:
 [
{
"cid","123",
name:"标题1",
"child":
     [
       {
         "cid","123",
             name:"标题1"
              },
              {
                "cid","1234",
               name:"标题1"
               },
               {
               "cid","12345",
               name:"标题1"
               }
            ]
},
{
"cid","1234",
name:"标题1"
},
{
"cid","12345",
name:"标题1"
}
]
 
 
public JArray GetCID(long CID)
    {
        ItemcatsGetRequest req_cid = new ItemcatsGetRequest();
        req_cid.ParentCid = CID;
        req_cid.Fields = "cid,parent_cid,name,is_parent";
        ItemcatsGetResponse response_cid = client.Execute(req_cid);
        objResult = tbAdmin.XmlToJson(response_cid.Body.ToString(), Rep.Session["UserID"].ToString(), Rep.Request["PlatformID"].ToString(), "获取淘宝商品类目接口");
 
        JArray arrCat = new JArray();
 
        if (objResult["itemcats_get_response"]["item_cats"] != null && objResult["itemcats_get_response"]["item_cats"]["item_cat"] != null)
        {
            if (CJSON.IsJsonA(objResult["itemcats_get_response"]["item_cats"]["item_cat"].ToString()) && JArray.Parse(objResult["itemcats_get_response"]["item_cats"]["item_cat"].ToString()).Count > 0)
            {
                arrCat = JArray.Parse(objResult["itemcats_get_response"]["item_cats"]["item_cat"].ToString());
                for (int i = 0; i < arrCat.Count; i++)
                {
                    if (arrCat[i]["is_parent"].ToString() == "true")
                    {
                        arrCat[i]["child"] = GetCID(long.Parse(arrCat[i]["cid"].ToString()));
                    }
                }
            }
            else {
                JObject objCat = JObject.Parse(objResult["itemcats_get_response"]["item_cats"]["item_cat"].ToString());
                if (objCat["is_parent"].ToString() == "true")
                {
                    objCat["child"] = GetCID(long.Parse(objCat["cid"].ToString()));
                }
                arrCat.Add(objCat);
            }
        }
        return arrCat;
    }
 
    public void GetAllCID()
    {
        JArray arr=GetCID(0);
     
    }

转载于:https://www.cnblogs.com/zhongzunmu/p/5429977.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值