jsonPath 在 apigee javascript 政策中不起作用

jsonPath not working in apigee javascript policy

我们有一个 json 输入,我们必须从中解码输入中的每个元素并在进入后端之前将其替换回去。 我们使用了 Extract Variables 策略来提取元素,在 Javascript 策略中,我们使用 for 循环解码元素。 现在我们必须用解码值替换提取的元素。我们尝试使用 jsonPath 并替换元素,但出现名为

的错误

JavaScript-1 的执行因错误而失败:Javascript runtime error: "ReferenceError: "jsonPath" is not defined. (JavaScript_1_js#5). at line 5

我们用于 jsonpath 的代码是

var input = new String(context.getVariable("request.content"));
context.setVariable("input",input);

var path = jsonPath(input, "$..soldto").toJSONString();
context.setVariable("path",path);

我们不能在 Apigee Javascript 政策中使用 json路径吗?

默认情况下,如果 JSONPath 不存在 - 您可以下载并将其添加到您的代理包中。您在 JS 策略中使用 includeURL 引用它。这使其可供您的 JS 代码使用。

http://apigee.com/docs/api-services/reference/javascript-policy#includeurl

另请参阅此内容,了解如何使用未包含的自定义 JS 库。

https://github.com/apigee/api-platform-samples/tree/master/sample-proxies/base64encoder/apiproxy

示例使用加密 JS。