(WSO2 API MANAGER v1.9)
我试图在API配置的序列中使用脚本中介来转换后端服务响应。 请在下面找到示例脚本调解器代码:
<script language="js">
var data = mc.getProperty("JSONPayload");
var jsonData = JSON.parse(data);
mc.setPayloadJSON( jsonData);
</script>
我在解析JSON请求时遇到错误,因为请求包含空值。 您能否建议如何在wso2 API manager v1.9中解决此问题?
答案 0 :(得分:0)
根据您的脚本中介代码,如果数据不是有效的JSON字符串,JSON.parse(data)将引发错误。您也可以在碳日志中看到该错误。当您的请求具有空JSON字符串时,就会发生这种情况。因此可以按如下方式修改代码以消除问题。
<script language="js">
var data = mc.getProperty("JSONPayload");
var jsonData;
if (data) {
try {
jsonData = JSON.parse(data);
} catch(e) {
jsonData = {};
}
}
mc.setPayloadJSON(jsonData);
</script>