0
を解決しないと、ここに私のコードです。私はそれが印刷されc
を渡すときには:Nashornエンジンはparamsは
item1has quantity of queryResult[0].quantity
私は印刷する必要があります。
item1has quantity of 2
はどうすればこれを行うことができますか?私はここでjavaとnashornエンジンを使用しています。
を解決しないと、ここに私のコードです。私はそれが印刷されc
を渡すときには:Nashornエンジンはparamsは
item1has quantity of queryResult[0].quantity
私は印刷する必要があります。
item1has quantity of 2
はどうすればこれを行うことができますか?私はここでjavaとnashornエンジンを使用しています。
バインディングに入れた文字列は単なるリテラルなので、スクリプトコードとして評価することはできません。
:[...]
String x= "item1 has quantity of ";
[...]
String script = "var queryResult = JSON.parse(jsonArrayKey);"
+ "var resultedString = c + queryResult[0].quantity";
[...]
より柔軟なソリューションは、次の可能性がたとえば:あなたのコードを変更した場合、それはあなたが期待するようなコンテンツを印刷し、次に続くとしてあなたの意図である私は明確ではない持っていますが
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
Bindings params = engine.createBindings();
params.put("jsonArrayKey", "[{\"quantity\":2},{\"quantity\":3}]");
params.put("msg", "item <ID> has quantity of <VALUE>");
params.put("index", 0);
String script = "var queryResult = JSON.parse(jsonArrayKey);\n"
+ "var resultedString = msg.replace('<ID>', index + 1).replace('<VALUE>', queryResult[index].quantity);";