我想知道如何迭代一个基本数组,例如int数组,或者它是否是一个简单的字符串数组。
{
"printers":[
"HP-1234",
"HP-Inkjet"
]
}
我想迭代数组并做一些这样的事情:
for( String obj:printers) {
if(obj.contains("HP")) {
//do something here
}
}
我如何使用JSONata执行此操作?
任何帮助将不胜感激!
答案 0 :(得分:2)
我找到了如下解决方案:
$map(printers, function($v, $i, $a) {
$v~>$string()~>$contains("HP")?"HP Priter":$v
})
但是因为Am使用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兼容