无法使用NULL值解析json

时间:2015-11-05 10:00:42

标签: json wso2 wso2-am

(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中解决此问题?

1 个答案:

答案 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>