0

我正在使用以下代码进行 REST OUTBOUND 调用,并且按预期工作。但我正在尝试解析第二个响应正文,但我无法检索对象下的值。

try { 
 var r = new sn_ws.RESTMessageV2('test', 'post');

 var response = r.execute();
 var responseBody = response.getBody();
 var httpStatus = response.getStatusCode();
 gs.print(response.getBody());
 gs.print(response.getStatusCode());
 var JsonObject = JSON.parse(responseBody);
 var sid = JsonObject.sid; 
 gs.print(sid);

 var r1 = new sn_ws.RESTMessageV2('x_257605_test.gateways', 'POST' );
 r1.setRequestHeader("X-chkp-sid",sid );
 var response1 = r1.execute();
 var responseBody1 = response1.getBody();
 var httpStatus = response1.getStatusCode()
 gs.print(response1.getBody());
 var JsonObject1 = JSON.parse(responseBody1);
 gs.print(JsonObject1.objects.uid);
}
catch(ex) {
 var message = ex.message;
}

请查看示例 json 响应,我需要提取 uid/name/cluster-member-names 等对象下的值

4

1 回答 1

0

objects 属性是一个对象数组。此行应更改为:

gs.print(JsonObject1.objects.uid);

至:

gs.print(JsonObject1.objects[0].uid);

从第一个对象的属性中获取数据,或者如果您需要对返回的所有对象执行操作,您可以迭代它们。

于 2018-07-29T19:23:59.950 回答