Json 存储三级菜单这样写正确吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
jmyz0455

Json 存储三级菜单这样写正确吗?

  •  
  •   jmyz0455 Oct 17, 2017 3607 views
    This topic created in 3113 days ago, the information mentioned may be changed or developed.

    有个类似 学校>专业>班别:学生人数 的数据结构,需要用到 json 来存储,这种类似三级菜单的 json 我还没写过,认真看了 http://www.json.org ,写出

    { "aaa": [ { "aa1": [ { "a11": "111" } ] } ], "bbb": [ { "bb1": [ { "b11": "111" } ] }, { "bb2": [ { "b21": "111" }, { "b22": "222" } ] } ] } 

    格式在 www.bejson.com 校验过没问题,但是看着很“嗦”。网上貌似没人提过多级 json 的写法。请问用 json 写三级的数据还有更简洁的写法吗?

    10 replies    2017-10-18 20:56:25 +08:00
    markocen
        1
    markocen  
       Oct 18, 2017 via Android
    为啥每层都包在一个数组里
    jmyz0455
        2
    jmyz0455  
    OP
       Oct 18, 2017
    @markocen 因为每一层都有可能是有多个数据的,不包数组的话在 www.bejson.com 里校验会出错,请问你觉得可以再怎么简化。
    bxb100
        3
    bxb100  
       Oct 18, 2017 via Android
    我是用 ajax
    mkeith
        4
    mkeith  
       Oct 18, 2017
    @markocen 数组里面顺序不会变吧
    jmyz0455
        5
    jmyz0455  
    OP
       Oct 18, 2017
    @mkeith 如果不怕顺序变呢?结构还可以更简单一点?
    jmyz0455
        6
    jmyz0455  
    OP
       Oct 18, 2017
    @bxb100 ?什么意思
    ztaober
        7
    ztaober  
       Oct 18, 2017
    学校-专业-班别-学生人数 同级别 list 存不可以吗 操作的时候在处理
    jmyz0455
        8
    jmyz0455  
    OP
       Oct 18, 2017
    @ztaober 问题是现在希望请求一次,获取一个 json 数据就完事。数据量不大,就是层级复杂,我想在单个 json 数据上减少层数而不是分开几个地方储存。
    seognilV2
        9
    seognilV2  
       Oct 18, 2017 via Android
    只用一层的方案:

    school1: {
    from: null,
    name: '野鸡大学',
    sub: ['class1', 'class2'],
    type: 'school'
    }

    class1: {
    from: 'school1',
    name: '三年二班',
    sub: ['student1', 'student2'],
    type: 'class'
    }

    student1: {
    from: 'class1',
    name: '李狗蛋',
    sub: null,
    type: 'student'
    }
    seognilV2
        10
    seognilV2  
       Oct 18, 2017 via Android
    类似这样
    好处是灵活,无论增删改查
    另外我建议任何情况下 demo 的假数据都写得真实一点比较好
    About     Help     Advertise     Blog     API     FAQ     Solana     3605 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 04:44 PVG 12:44 LAX 21:44 JFK 00:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86