从地图上获取密钥

时间:2016-05-02 12:54:49

标签: json dictionary groovy

我有这样的地图:

[One:[example:value1, example2:value2] ,Two[example 1:value3, example2:value4]]

我正在从另一个地图中的值匹配value1,但我需要获取一个或两个键,具体取决于它是否匹配。

所以,如果我说:

if( value1.equals (otherMapValue))
    Return One

此地图来自json响应,所以除了地图之外还有更好的方法可以更改它。对不起格式化我正在使用手机

1 个答案:

答案 0 :(得分:1)

这应该做:

<script>
var DOCUMENT_ROOT = "<?= getenv('DOCUMENT_ROOT') ?>";
</script>

如果您要查找第一个匹配键而不是键列表,请使用def someMethod(valueFromOthermap) { def map = [ One: [example1: 'value1', example2:'value2'], Two: [example1: 'value3', example2:'value4'] ] map.findResults { k, v -> valueFromOthermap in v.values() ? k : null } } assert someMethod('value1') == ['One'] 代替findResult,其他所有内容都保持不变。

<强>更新
关于JSON到findResults解析,可以很容易地将JSON共振解析为Map,如下所示:

Map