【发布时间】:2018-10-16 07:48:58
【问题描述】:
请在下面找到我格式化的 JSON Payload Dis.json
{
"id": "",
"discount_type": "COUPON",
"name": "Festive Treebo discount",
"code": "ABCDE",
"description": "50% off discount",
"is_visible": true,
"implementation_logic": "EXPLICIT",
"is_auto_applicable": true,
"validity_start": "2018-09-30T18:30:00.000Z",
"validity_end": "2018-10-30T18:30:00.000Z",
"total_inventory": 100,
"incentive_value_type": "PERCENTAGE",
"incentive_apply_on": "TRANSACTION_PRICE",
"incentive_value": 20,
"applicable_on": "PRE_TAX",
"max_incentive_value": 500,
"rules": {
"AND": [
{
"RULE": {
"operator": "EQ",
"attribute_name": "PAYMODE",
"attribute_value": "PREPAID",
"attribute_value_type": "STRING",
"status": "ACTIVE"
}
},
{
"OR": [
{
"AND": [
{
"RULE": {
"operator": "EQ",
"attribute_name": "CHANNEL",
"attribute_value": "direct",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "IN",
"attribute_name": "SUB_CHANNEL",
"attribute_value": "trivago",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
}
]
},
{
"AND": [
{
"RULE": {
"operator": "EQ",
"attribute_name": "CHANNEL",
"attribute_value": "assisted-sales",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
}
]
}
]
},
{
"RULE": {
"operator": "IN",
"attribute_name": "BLACKOUT_DATES",
"attribute_value": "16 Oct 2018",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
},
{
"OR": [
{
"RULE": {
"operator": "IN",
"attribute_name": "HOTEL_ID",
"attribute_value": "0048880",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "IN",
"attribute_name": "CITY",
"attribute_value": "105",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "IN",
"attribute_name": "LOCALITY",
"attribute_value": "2",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
}
]
},
{
"RULE": {
"operator": "IN",
"attribute_name": "DEVICE",
"attribute_value": "direct-website",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "EQUALS_GT",
"attribute_name": "LENGTH_OF_STAY",
"attribute_value": "3",
"attribute_value_type": "INTEGER",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "EQUALS_GT",
"attribute_name": "TRANSACTION_VALUE",
"attribute_value": "1000",
"attribute_value_type": "INTEGER",
"status": "ACTIVE"
}
},
{
"AND": [
{
"RULE": {
"operator": "IN",
"attribute_name": "UTM_SOURCE",
"attribute_value": "Paytm",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "IN",
"attribute_name": "UTM_MEDIUM",
"attribute_value": "media",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "IN",
"attribute_name": "UTM_CAMPAIGN",
"attribute_value": "new year, holi",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
}
]
},
{
"RULE": {
"operator": "EQ",
"attribute_name": "ABW",
"attribute_value": "10",
"attribute_value_type": "INTEGER",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "EQUALS_GT",
"attribute_name": "CHECKIN",
"attribute_value": "01 Oct 2018",
"attribute_value_type": "DATE",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "EQUALS_LT",
"attribute_name": "CHECKOUT",
"attribute_value": "16 Nov 2018",
"attribute_value_type": "DATE",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "IN",
"attribute_name": "USER_COHORT",
"attribute_value": "LOYALITY_USER",
"attribute_value_type": "CSV_ARRAY",
"status": "ACTIVE"
}
},
{
"RULE": {
"operator": "EQUALS_LT",
"attribute_name": "INVENTORY_CAP",
"attribute_value": "20",
"attribute_value_type": "INTEGER",
"status": "ACTIVE"
}
}
]
},
"status": "ACTIVE",
"created_by": "abcd@treebohotels.com",
"success_message": "Coupon applied successfully",
"error_message": "Coupon not applicable"
}
现在这是我的功能文件代码,它加载 json 文件并尝试只修剪我想要的 json
Scenario: Json formatting
* def discountInput = read('Dis.json')
* remove discountInput.rules.AND[0]
* remove discountInput.rules.AND[2]
* remove discountInput.rules.AND[3]
* remove discountInput.rules.AND[4]
* remove discountInput.rules.AND[5]
* remove discountInput.rules.AND[6]
* remove discountInput.rules.AND[7]
* remove discountInput.rules.AND[8]
* remove discountInput.rules.AND[9]
* remove discountInput.rules.AND[10]
* remove discountInput.rules.AND[11]
* remove discountInput.rules.AND[12]
* print discountInput
当我打印这个时,只有 AND[0] 被删除,但我想删除除 AND[1] 之外的所有内容,我该如何在空手道中做到这一点?
还有比我目前做的更好的方法吗?
【问题讨论】:
-
我试过 * remove discountInput.rules.AND[0],discountInput.rules.AND[1],discountInput.rules.AND[2] ......但没用
-
我试过 * remove discountInput.rules.AND[0,2,3,4,5,6,7,8,9..] 没用