我尝试将动态输入值传递给 JSONata,但它没有将其放入行中:15 我正在使用 $add(),在其中我正在为其分配输入值,但它不起作用。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>JSONata test</title>
<script src="https://cdn.jsdelivr.net/npm/jsonata/jsonata.min.js"></script>
<script>
function greeting() {
var json = JSON.parse(document.getElementById("json").value);
var query = document.getElementById("query").value;
var expression = jsonata("$add()");
expression.registerFunction("add", () => query);
var result = expression.evaluate(json);
document.getElementById("greeting").innerHTML = result;
}
</script>
</head>
<body>
<textarea id="json">{ "name": "Wilbur" }</textarea>
<textarea id="query">name</textarea>
<button onclick="greeting()">Click me</button>
<p id="greeting"></p>
</body>
</html>
I am creating $add() function inside JSONata method and return dynamic input value but it is not giving desired output.
As of now I am getting whatever I am passing inside field but what I need is when I pass key for Ex:"name" I should get that value using jsonata expression. I need output same as what JSONata method returns
Let me know If I need to provide any other information