繁体   English   中英

如何在JSONata中迭代基元数组

[英]How to Iterate array of primitives in JSONata

我想知道如何迭代原始数组(例如int数组)或将其作为简单的字符串数组进行迭代。

{
   "printers":[
      "HP-1234",
      "HP-Inkjet"
   ]
}

我想遍历数组并做这样的事情:

for( String obj:printers) {
    if(obj.contains("HP")) {
        //do something here
    }
}

我如何使用JSONata做到这一点?

任何帮助将不胜感激!

我想出了以下解决方案:

$map(printers, function($v, $i, $a) {
    $v~>$string()~>$contains("HP")?"HP Priter":$v
})

但是由于使用Java通过Nashorn调用jasonata.js,所以我无法获得正确的结果。

这是我所做的:

        Object resultjson = inv.invokeMethod(expr, "evaluate", inputjson);        
        engine.put("resultjson", resultjson);
        Object result = engine.eval("JSON.stringify(resultjson);");
        System.out.println("Result:" + result);

结果是:结果:[object Object]寻找指针以json格式获取结果。

注意:我正在使用jsonata-es5.js,因为它与Nashorn兼容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM