【问题标题】:Hi Team, am new in groovy, i know that its simple, but I got confused.in my controller i have 2list of values. thats shown like嗨团队,我是 groovy 的新手,我知道这很简单,但我很困惑。在我的控制器中,我有 2 个值列表。就像这样
【发布时间】:2021-07-02 18:54:48
【问题描述】:

Ratios:[2,9,3.5]//双值// AND uom:[1,2,3,4]

现在需要像这样通过地图获取这些,

Ratios:[2]`Ratios:[9]`Ratios:[3.5]`

uom:[1]`uom:[2]`uom:[3]`uom:[4]`

最后需要将所有这些关联到一个数组中,LIKE

MyArray[ Ratios:[2]
         Ratios:[9]
         Ratios:[3.5]
         uom:[1]
         uom:[2]
         uom:[3]
         uom:[4]   ]

我怎么会这样。请帮助我 我的代码是,

def jsonSlurperjson = new groovy.json.JsonSlurper();
            def jsonData = [];
            def Ratios;
            def UOM;
            def RatioMap=[];

            def Obj = jsonSlurperjson.parseText(params.Selected);

            if (Obj.uom!= null || Obj.uom!= "") {
                UOM= Obj.uom;
            }
            if (Obj.ratio != null || Obj.ratio != "") {
                Ratios = Obj.ratio;
            }
            for(int i=0; i<Ratios.size(); i++) {
                RatioMap.add(Ratios[i]);

            }

【问题讨论】:

  • Ratios:[2]Ratios:[9]Ratios:[3.5] 应该是包含 3 个条目的 Map 吗?
  • 不会。它将被循环播放。所以我们可以期待更多条目
  • “不会。它将被循环。所以我们可以期待更多的条目” - 所有的键都应该是“比率”吗?
  • 所有的键都应该是“比率”吗? – 是的

标签: grails groovy


【解决方案1】:

您可以收集两个列表以创建地图并添加两个 结果列表以获得最终列表

[2,9,3.5].collect{ [Ratios: it] } + [1,2,3,4].collect{ [uom: it] }
// → [[Ratios:2], [Ratios:9], [Ratios:3.5], [uom:1], [uom:2], [uom:3], [uom:4]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-09
    • 2019-07-02
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2010-11-28
    相关资源
    最近更新 更多