Karate 我是否调用了错误的对象,使用空手道API在一个映射中有2个空键

Karate 我是否调用了错误的对象,使用空手道API在一个映射中有2个空键,karate,Karate,def数组=[红、绿、黄、空] def映射={'Red':0,'Green':0,'Yellow':0,'Grey':0,null:0} 空手道.forEach(数组,函数(x){map.put(x,map.get(x)+1)}) 打印地图 输出: { "红":一,, “绿色”:1, “黄色”:1, “灰色”:0, “null”:0, “空”:1.0 }我真的不知道为什么会出现2个空值。请随时调试并让我们知道,这在正常使用中从来都不是一个问题,当所有代码都需要字符串时,无论如何都不应该

def数组=[红、绿、黄、空]

  • def映射={'Red':0,'Green':0,'Yellow':0,'Grey':0,null:0}

  • 空手道.forEach(数组,函数(x){map.put(x,map.get(x)+1)})

  • 打印地图

  • 输出: { "红":一,, “绿色”:1, “黄色”:1, “灰色”:0, “null”:0, “空”:1.0
    }

    我真的不知道为什么会出现2个空值。请随时调试并让我们知道,这在正常使用中从来都不是一个问题,当所有代码都需要字符串时,无论如何都不应该有空键。请换一下:

    * karate.forEach(array, function(x){ if (x) map[x] = map.get(x) + 1 })
    

    这个用例来自一个嵌套的json,我得到了一堆值和null(对象,而不是字符串),我尝试过使用它们,但仍然看到了2个键,这个解决方法现在对我有效(将null设置为字符串)。*def数组=[“红”、“绿”、“黄”、“空]*def map={“红”:0,“绿”:0,“黄”:0,“灰”:0,“空”:0}*空手道。forEach(数组,函数(x){map.put(x,map.get(x)+1})*打印映射*打印映射.get(空)*打印映射.get('null')结果是:[打印]{“红”:1,“绿”:1,“黄”:1,“灰”:0,“空”:0,“null”:1.0}[print]1.0[print]0@pratikmehra7是的
    null
    当然不同于
    'null'
    。现在请阅读以下内容: