Я не уверен, существуют ли чистые методы JS Use API, которые позволяют вам это делать. Однако, поскольку API использования JS позволяет использовать в нем классы и методы Java, вы должны иметь возможность использовать их для извлечения информации.
Поскольку ваш файл хранится как актив в DAM, вам необходимо получить доступ к данным из исходного представления. Один из способов сделать это - использовать com.day.cq.dam.api.Asset
API, чтобы получить исходное представление. com.adobe.granite.asset.api.Asset
не имеет прямого доступа к исходному представлению, следовательно, использует другой.
Рабочий образец custom.js
use(function (data) {
var asset = request.resourceResolver.getResource("/content/dam/we-retail/en/data.js").adaptTo(com.day.cq.dam.api.Asset);
var is = asset.getOriginal().adaptTo(java.io.InputStream);
var jsonData = JSON.parse(org.apache.commons.io.IOUtils.toString(is, "UTF-8"));
console.log(jsonData);
return jsonData;
});
содержимое файла в DAM
{
"fname": "abc",
"lname": "xyz"
}
Файл HTL
<sly data-sly-use.custom="custom.js">
${custom.fname} --> ${custom.lname}
</sly>