解析JSON以提取键和值

问题描述 投票:-1回答:1

我使用下面的代码服务现在休息出站调用,这是按预期工作,但在第二个休息调用我试图parse JSON正文但我无法检索所需的表格格式的值

 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('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 parser = new JSONParser();
 var jsonObj = parser.parse(responseBody1);
 var outputString = 'Name Domain-Name OS Cluster-Members UID';
 for (var i=0; i < jsonObj.objects.length; i++) {
     var obj = jsonObj.objects[i];
     outputString = outputString + "\n" + obj.name + ", " + obj.domain.name + ", " + obj["operating-system"] + ", " + obj["cluster-member-names"] + ", " + obj.uid;
 }

 gs.log(outputString);
}
catch(ex) {
 var message = ex.message;
}​

预期的输出应该是这样的:

Link to image

但我得到并输出如下:

*** Script: Name Domain-Name OS Cluster-Members UID
clus-cn-1, dom-cn-1, Gaia, dev-cn-c1,dev-cn-c2, 16b96771-d13a-4c11-b457-9c0861aaf3c8
clus-cn-2, dom-cn-2, Gaia, dev-cn-c3,dev-cn-c4, 385c0a22-275c-4a70-9489-2b6ccd191eb8
dev-cn-c1, dom-cn-1, undefined, undefined, 4652da03-0e2f-4a0a-880c-338396be0818
dev-cn-c2, dom-cn-1, undefined, undefined, 2dbbbfd4-80ac-4fd9-b792-0a5b468c6409
dev-cn-c3, dom-cn-2, undefined, undefined, 6037e235-f19a-49ac-a39c-4889d979acbe
dev-cn-c4, dom-cn-2, undefined, undefined, 022c44df-9271-46db-b782-da084c476dd2
dom_cn_1_Server, dom-cn-1, Unknown OS, undefined, 4f417c60-3541-4c0f-a542-9a100d857077
dom_cn_2_Server, dom-cn-2, Unknown OS, undefined, cebecd33-1efb-4530-9de9-7c666e588ee7

如何避免前两行后的值

示例json

{
"objects" : [ {
    "uid" : "16b96771-d13a-4c11-b457-9c0861aaf3c8",
    "name" : "clus-cn-1",
    "type" : "CpmiGatewayCluster",
    "domain" : {
      "uid" : "16280a32-183a-4050-b698-f59dbe488da6",
      "name" : "dom-cn-1",
      "domain-type" : "domain"
    },
    "policy" : {
      "access-policy-installed" : true,
      "access-policy-name" : "Standard",
      "access-policy-installation-date" : {
        "posix" : 1533629226178,
        "iso-8601" : "2018-08-07T16:07+0800"
      },
      "threat-policy-installed" : false
    },
    "operating-system" : "Gaia",
    "hardware" : "Open server",
    "version" : "R80",
    "ipv4-address" : "10.126.102.12",
    "network-security-blades" : {
      "firewall" : true,
      "site-to-site-vpn" : true
    },
    "management-blades" : { },
    "cluster-member-names" : [ "dev-cn-c1", "dev-cn-c2" ],
    "vpn-encryption-domain" : "addresses_behind_gw",
    "sic-status" : "uninitialized",
    "tags" : [ ],
    "icon" : "NetworkObjects/cluster",
    "groups" : [ ],
    "comments" : "",
    "color" : "black",
    "meta-info" : {
      "lock" : "unlocked",
      "validation-state" : "ok",
      "last-modify-time" : {
        "posix" : 1533629193330,
        "iso-8601" : "2018-08-07T16:06+0800"
      },
      "last-modifier" : "System",
      "creation-time" : {
        "posix" : 1533629186803,
        "iso-8601" : "2018-08-07T16:06+0800"
      },
      "creator" : "System"
    },
    "read-only" : true
  }, {
    "uid" : "385c0a22-275c-4a70-9489-2b6ccd191eb8",
    "name" : "clus-cn-2",
    "type" : "CpmiGatewayCluster",
    "domain" : {
      "uid" : "6c2f639f-db32-4255-88ef-fb9b0e820051",
      "name" : "dom-cn-2",
      "domain-type" : "domain"
    },
    "policy" : {
      "access-policy-installed" : true,
      "access-policy-name" : "Standard",
      "access-policy-installation-date" : {
        "posix" : 1533631724838,
        "iso-8601" : "2018-08-07T16:48+0800"
      },
      "threat-policy-installed" : false
    },
    "operating-system" : "Gaia",
    "hardware" : "Open server",
    "version" : "R80",
    "ipv4-address" : "10.126.102.16",
    "network-security-blades" : {
      "firewall" : true
    },
    "management-blades" : { },
    "cluster-member-names" : [ "dev-cn-c3", "dev-cn-c4" ],
    "vpn-encryption-domain" : "addresses_behind_gw",
    "sic-status" : "uninitialized",
    "tags" : [ ],
    "icon" : "NetworkObjects/cluster",
    "groups" : [ ],
    "comments" : "",
    "color" : "black",
    "meta-info" : {
      "lock" : "unlocked",
      "validation-state" : "ok",
      "last-modify-time" : {
        "posix" : 1533631690759,
        "iso-8601" : "2018-08-07T16:48+0800"
      },
      "last-modifier" : "System",
      "creation-time" : {
        "posix" : 1533630083711,
        "iso-8601" : "2018-08-07T16:21+0800"
      },
      "creator" : "System"
    },
    "read-only" : true
  }, {
    "uid" : "4652da03-0e2f-4a0a-880c-338396be0818",
    "name" : "dev-cn-c1",
    "type" : "CpmiClusterMember",
    "domain" : {
      "uid" : "16280a32-183a-4050-b698-f59dbe488da6",
      "name" : "dom-cn-1",
      "domain-type" : "domain"
    },
    "policy" : { },
    "ipv4-address" : "10.126.102.9",
    "interfaces" : [ {
      "interface-name" : "eth1",
      "ipv4-address" : "10.10.10.1",
      "ipv4-network-mask" : "255.255.255.240",
      "ipv4-mask-length" : 28,
      "dynamic-ip" : false,
      "topology" : {
        "leads-to-internet" : false,
        "ip-address-behind-this-interface" : "network defined by the interface ip and net mask",
        "leads-to-dmz" : false
      }
    }, {
      "interface-name" : "eth0",
      "ipv4-address" : "10.126.102.9",
      "ipv4-network-mask" : "255.255.255.192",
      "ipv4-mask-length" : 26,
      "dynamic-ip" : false,
      "topology" : {
        "leads-to-internet" : true
      }
    } ],
    "sic-status" : "communicating",
    "tags" : [ ],
    "icon" : "NetworkObjects/Cluster_member",
    "groups" : [ ],
    "comments" : "",
    "color" : "black",
    "meta-info" : {
      "lock" : "unlocked",
      "validation-state" : "ok",
      "last-modify-time" : {
        "posix" : 1533629193630,
        "iso-8601" : "2018-08-07T16:06+0800"
      },
      "last-modifier" : "System",
      "creation-time" : {
        "posix" : 1533629187252,
        "iso-8601" : "2018-08-07T16:06+0800"
      },
      "creator" : "System"
    },
    "read-only" : true
  }, {
    "uid" : "2dbbbfd4-80ac-4fd9-b792-0a5b468c6409",
    "name" : "dev-cn-c2",
    "type" : "CpmiClusterMember",
    "domain" : {
      "uid" : "16280a32-183a-4050-b698-f59dbe488da6",
      "name" : "dom-cn-1",
      "domain-type" : "domain"
    },
    "policy" : { },
    "ipv4-address" : "10.126.102.10",
    "interfaces" : [ {
      "interface-name" : "eth1",
      "ipv4-address" : "10.10.10.2",
      "ipv4-network-mask" : "255.255.255.240",
      "ipv4-mask-length" : 28,
      "dynamic-ip" : false,
      "topology" : {
        "leads-to-internet" : false,
        "ip-address-behind-this-interface" : "network defined by the interface ip and net mask",
        "leads-to-dmz" : false
      }
    }, {
      "interface-name" : "eth0",
      "ipv4-address" : "10.126.102.10",
      "ipv4-network-mask" : "255.255.255.192",
      "ipv4-mask-length" : 26,
      "dynamic-ip" : false,
      "topology" : {
        "leads-to-internet" : true
      }
    } ],
    "sic-status" : "communicating",
    "tags" : [ ],
    "icon" : "NetworkObjects/Cluster_member",
    "groups" : [ ],
    "comments" : "",
    "color" : "black",
    "meta-info" : {
      "lock" : "unlocked",
      "validation-state" : "ok",
      "last-modify-time" : {
        "posix" : 1533629193427,
        "iso-8601" : "2018-08-07T16:06+0800"
      },
      "last-modifier" : "System",
      "creation-time" : {
        "posix" : 1533629188258,
        "iso-8601" : "2018-08-07T16:06+0800"
      },
      "creator" : "System"
    },
    "read-only" : true
  }, {
    "uid" : "6037e235-f19a-49ac-a39c-4889d979acbe",
    "name" : "dev-cn-c3",
    "type" : "CpmiClusterMember",
    "domain" : {
      "uid" : "6c2f639f-db32-4255-88ef-fb9b0e820051",
      "name" : "dom-cn-2",
      "domain-type" : "domain"
    },
    "policy" : { },
    "ipv4-address" : "10.126.102.13",
    "interfaces" : [ {
      "interface-name" : "eth0",
      "ipv4-address" : "10.126.102.13",
      "ipv4-network-mask" : "255.255.255.192",
      "ipv4-mask-length" : 26,
      "dynamic-ip" : false,
      "topology" : {
        "leads-to-internet" : true
      }
    }, {
      "interface-name" : "eth1",
      "ipv4-address" : "10.10.20.1",
      "ipv4-network-mask" : "255.255.255.240",
      "ipv4-mask-length" : 28,
      "dynamic-ip" : false,
      "topology" : {
        "leads-to-internet" : false,
        "ip-address-behind-this-interface" : "network defined by the interface ip and net mask",
        "leads-to-dmz" : false
      }
    } ],
    "sic-status" : "communicating",
    "tags" : [ ],
    "icon" : "NetworkObjects/Cluster_member",
    "groups" : [ ],
    "comments" : "",
    "color" : "black",
    "meta-info" : {
      "lock" : "unlocked",
      "validation-state" : "ok",
      "last-modify-time" : {
        "posix" : 1533631689704,
        "iso-8601" : "2018-08-07T16:48+0800"
      },
      "last-modifier" : "System",
      "creation-time" : {
        "posix" : 1533630084104,
        "iso-8601" : "2018-08-07T16:21+0800"
      },
      "creator" : "System"
    },
    "read-only" : true
  }, {
    "uid" : "022c44df-9271-46db-b782-da084c476dd2",
    "name" : "dev-cn-c4",
    "type" : "CpmiClusterMember",
    "domain" : {
      "uid" : "6c2f639f-db32-4255-88ef-fb9b0e820051",
      "name" : "dom-cn-2",
      "domain-type" : "domain"
    },
    "policy" : { },
    "ipv4-address" : "10.126.102.14",
    "interfaces" : [ {
      "interface-name" : "eth0",
      "ipv4-address" : "10.126.102.14",
      "ipv4-network-mask" : "255.255.255.192",
      "ipv4-mask-length" : 26,
      "dynamic-ip" : false,
      "topology" : {
        "leads-to-internet" : true
      }
    }, {
      "interface-name" : "eth1",
      "ipv4-address" : "10.10.20.2",
      "ipv4-network-mask" : "255.255.255.240",
      "ipv4-mask-length" : 28,
      "dynamic-ip" : false,
      "topology" : {
        "leads-to-internet" : false,
        "ip-address-behind-this-interface" : "network defined by the interface ip and net mask",
        "leads-to-dmz" : false
      }
    } ],
    "sic-status" : "communicating",
    "tags" : [ ],
    "icon" : "NetworkObjects/Cluster_member",
    "groups" : [ ],
    "comments" : "",
    "color" : "black",
    "meta-info" : {
      "lock" : "unlocked",
      "validation-state" : "ok",
      "last-modify-time" : {
        "posix" : 1533631690171,
        "iso-8601" : "2018-08-07T16:48+0800"
      },
      "last-modifier" : "System",
      "creation-time" : {
        "posix" : 1533630085006,
        "iso-8601" : "2018-08-07T16:21+0800"
      },
      "creator" : "System"
    },
    "read-only" : true
  }, {
    "uid" : "4f417c60-3541-4c0f-a542-9a100d857077",
    "name" : "dom_cn_1_Server",
    "type" : "CpmiHostCkp",
    "domain" : {
      "uid" : "16280a32-183a-4050-b698-f59dbe488da6",
      "name" : "dom-cn-1",
      "domain-type" : "domain"
    },
    "policy" : { },
    "operating-system" : "Unknown OS",
    "hardware" : "Open server",
    "version" : "R80.10",
    "ipv4-address" : "10.126.102.11",
    "network-security-blades" : { },
    "management-blades" : {
      "network-policy-management" : true,
      "logging-and-status" : true
    },
    "sic-status" : "uninitialized",
    "tags" : [ ],
    "icon" : "NetworkObjects/CheckPoint/Hosts/xHost_CP",
    "groups" : [ ],
    "comments" : "Domain Management Server",
    "color" : "black",
    "meta-info" : {
      "lock" : "unlocked",
      "validation-state" : "ok",
      "last-modify-time" : {
        "posix" : 1533621654552,
        "iso-8601" : "2018-08-07T14:00+0800"
      },
      "last-modifier" : "System",
      "creation-time" : {
        "posix" : 1533621625970,
        "iso-8601" : "2018-08-07T14:00+0800"
      },
      "creator" : "System"
    },
    "read-only" : true
  }, {
    "uid" : "cebecd33-1efb-4530-9de9-7c666e588ee7",
    "name" : "dom_cn_2_Server",
    "type" : "CpmiHostCkp",
    "domain" : {
      "uid" : "6c2f639f-db32-4255-88ef-fb9b0e820051",
      "name" : "dom-cn-2",
      "domain-type" : "domain"
    },
    "policy" : { },
    "operating-system" : "Unknown OS",
    "hardware" : "Open server",
    "version" : "R80.10",
    "ipv4-address" : "10.126.102.15",
    "network-security-blades" : { },
    "management-blades" : {
      "network-policy-management" : true,
      "logging-and-status" : true
    },
    "sic-status" : "uninitialized",
    "tags" : [ ],
    "icon" : "NetworkObjects/CheckPoint/Hosts/xHost_CP",
    "groups" : [ ],
    "comments" : "Domain Management Server",
    "color" : "black",
    "meta-info" : {
      "lock" : "unlocked",
      "validation-state" : "ok",
      "last-modify-time" : {
        "posix" : 1533627992781,
        "iso-8601" : "2018-08-07T15:46+0800"
      },
      "last-modifier" : "System",
      "creation-time" : {
        "posix" : 1533627964438,
        "iso-8601" : "2018-08-07T15:46+0800"
      },
      "creator" : "System"
    },
    "read-only" : true
  } ],
  "from" : 1,
  "to" : 8,
  "total" : 8
}
javascript java servicenow
1个回答
0
投票

好吧,看起来代码正在做着本来应该做的事情。

如果您只想过滤操作系统名称为Gaia的行,您可以将for更改为:

for (var i=0; i < jsonObj.objects.length; i++) {
    if (obj["operating-system"] == "Gaia") {
        var obj = jsonObj.objects[i];
        outputString = outputString + "\n" +
            obj.name + ", " +
            obj.domain.name + ", " +
            obj["operating-system"] + ", " +
            obj["cluster-member-names"] + ", " + obj.uid;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.