开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 603|回复: 4
收起左侧

[已解决] 哪位大神帮忙看看这个递归取JSON

 关闭 [复制链接]
结帖率:88% (7/8)
发表于 2022-6-14 11:44:05 | 显示全部楼层 |阅读模式   四川省成都市
9精币
想把这段递归的JS取无限层次json的代码转为易代码,怎么写都不对,现在一团浆糊,哪位大神帮忙改改。
[JavaScript] 纯文本查看 复制代码
    var ml = [
        {   
            name:"A",
            child:[
                {
                    name:"a1",
                    child:[
                        {name:"a11"},
                        {name:"a12"},
                        {name:"a13"},
                        {name:"a14"}
                    ]
                },
                {name:"a2"},
                {name:"a3"},
                {name:"a4"}
            ]
        },
        {   
            name:"B",
            child:[
                {
                    name:"b1",
                    child:[
                        {
                            name:"b11",
                            child:[
                                {name:"b111"},
                                {name:"b112"},
                                {name:"b113"},
                                {
                                    name:"b114"
                                    ,child:[
                                        {name:"b114_3"},
                                        {
                                            name:"b114_1"
                                            ,child:[
                                                {name:"b114_1"},
                                                {name:"b114_2"},
                                                {
                                                    name:"b114_3",
                                                    child:[
                                                        {name:"b111"},
                                                        {name:"b112"},
                                                        {name:"b113"}
                                                    ]
                                                },
                                                {name:"b114_4"}
                                            ]    
                                        },
                                        {name:"b114_2"},
                                        {name:"b114_4"}
                                    ]
                                }
                            ]
                        },
                        {name:"b12"},
                        {name:"b13"},
                        {name:"b14"}
                    ]
                },
                {name:"b2"},
                {name:"b3"},
                {name:"b4"}
            ]
        },
        {   
            name:"A",
            child:[
                {
                    name:"a1",
                    child:[
                        {name:"a11"},
                        {name:"a12"},
                        {name:"a13"},
                        {name:"a14"}
                    ]
                },
                {name:"a2"},
                {name:"a3"},
                {name:"a4"}
            ]
        },
    ]
 
    var str = ""
    function dg(ml){
                //console.log(ml);
                console.log(ml.length);
        str+="<ul>"
        for(var i=0;i<ml.length;i++){
            str+="<li>"+ml.name
                        //console.log(ml.child);
            if(ml.child){
                str += "<ul>"
                for(var j=0;j<ml.child.length;j++){
                    str+="<li>"+ml.child[j].name+"</li>"
                    if(ml.child[j].child){
                        dg(ml.child[j].child);
                    }
                }
                str+="</ul>"
            }
            str+="</li>"
        }
        str+="</ul>"
        // console.log(str)
        return str;
    }
    // document.documentElement//.appendChild(dg(ml));
    document.body.innerHTML=dg(ml)

下面是不知道怎么写的源码,json文本在易程序里面。
test.e (921.75 KB, 下载次数: 5)

最佳答案

查看完整内容

再套一层循环就行了 补充内容 (2022-6-14 12:20): 话说咋最近都在研究这个,,, 补充内容 (2022-6-14 12:20): DDDD

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

结帖率:99% (392/395)

签到天数: 21 天

发表于 2022-6-14 11:44:06 | 显示全部楼层   湖南省株洲市
weiba963 发表于 2022-6-14 12:10
这个只能解析出一个分类和下面的子分类

再套一层循环就行了

多级JSON.e (918.28 KB, 下载次数: 11)

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:99% (392/395)

签到天数: 21 天

发表于 2022-6-14 11:45:12 | 显示全部楼层   湖南省株洲市
参考这个贴,有啥不懂的在问

如何解析无限级分类多层json
https://bbs.125.la/forum.php?mod=viewthread&tid=14733344
(出处: 精易论坛)


回复

使用道具 举报

结帖率:88% (7/8)

签到天数: 12 天

 楼主| 发表于 2022-6-14 12:10:44 | 显示全部楼层   四川省成都市
木小果 发表于 2022-6-14 11:45
参考这个贴,有啥不懂的在问

如何解析无限级分类多层json

这个只能解析出一个分类和下面的子分类
回复

使用道具 举报

结帖率:88% (7/8)

签到天数: 12 天

 楼主| 发表于 2022-6-14 15:08:03 | 显示全部楼层   四川省成都市
木小果 发表于 2022-6-14 12:19
再套一层循环就行了

还有几个问题想请教一下!
1.最后一个取出来是重复的,不知道怎么回事
* “27” | “[0].childList[0].ID”
* “30” | “[0].childList[0].childList[0].ID”
* “41” | “[0].childList[1].ID”
* “42” | “[0].childList[1].childList[0].ID”
* “30” | “[0].childList[0].childList[0].ID”
* “31” | “[0].childList[0].childList[0].childList[0].ID”
* “32” | “[0].childList[0].childList[0].childList[1].ID”
* “33” | “[0].childList[0].childList[0].childList[1].childList[0].ID”
* “29” | “[1].childList[0].ID”
* “34” | “[1].childList[0].childList[0].ID”
* “44” | “[1].childList[1].ID”
* “45” | “[1].childList[1].childList[0].ID”
* “45” | “[1].childList[1].childList[0].ID”

2.现在最多只能取出5级,如果还要往下的级数是继续复制循环吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表