JMeter - 从具有 JSON 数据的变量中提取值

JMeter - Extract value from the variable having JSON data

我在一个 GET API 调用中得到以下响应。

{
  "id": 78929,
  "created": "04-12-2021 02:37:52",
  "modified": "04-12-2021 02:37:52",
  "name": "Applebee",
  "url": "https://applebee-2.prashant.com",
  "key1": "vp_9d254bb754ab6283afa9ecf0f0847b5a",
  "interval2": 120,
  "tenant_id": 60895,
  "channel_id": 2,
  "channel_type": "platform",
  "warehouse_id": 54533,
  "warehouse_name": "Bedfordview Warehouse",
  "stock_policy": "CUSTOM",
  "currency_id": 45396,
  "order_from_date": "2021-10-03 02:36:48",
  "inventory_update": true,
  "order_update": true,
  "price_update": true,
  "active": true,
  "resync": true,
  "last_access_record_id": 89880,
  "last_accessed_record": {
    "id": 89880,
    "last_order_to_date": "2021-12-07T00:16:39.000+0000",
    "last_order_id": "0",
    "last_order_page": 1
  },
  "store_config": "{\"isOrderUpdateProcessor\":false,\"auto_archive\":true,\"tagOrderRisks\":true,\"error_emails\":\"kyle@gmail.com\",\"autoMapDuplicateProduct\":true,\"enabledMultiCurrency\":false,\"disableSyncPIIData\":false}",
  "last_inventory_sync": "04-12-2021 02:43:35",
  "inventory_sync_interval": 1440,
  "stock_policy_warehouse_ids": [
    {
      "id": 53543,
      "created": "04-12-2021 02:37:52",
      "modified": "04-12-2021 02:37:52",
      "store_id": 78929,
      "external_warehouse_id": "34639577171",
      "warehouse_id": 54533,
      "add_qty_value": "0%",
      "add_incoming_qty_value": "0%",
      "tenant_id": 60895
    },
    {
      "id": 53544,
      "created": "04-12-2021 02:37:52",
      "modified": "04-12-2021 02:37:52",
      "store_id": 78929,
      "external_warehouse_id": "60921610323",
      "warehouse_id": 54534,
      "add_qty_value": "0%",
      "add_incoming_qty_value": "0%",
      "tenant_id": 60895
    }
  ],
  "old_shopify_locations": [
    {
      "id": "60921610323",
      "name": "Supplier",
      "warehouseId": 54534,
      "warehouseName": "Lux"
    },
    {
      "id": "34639577171",
      "name": "Bedfordview Warehouse",
      "warehouseId": 54533,
      "warehouseName": "Bedfordview Warehouse"
    }
  ]
}

我添加了以下 JSON 提取器以从上面的 API 响应中获取 store_config 值。

因此,按照上面的示例,我通过 JSON 提取器获得以下 store_config 值。

{
  "isOrderUpdateProcessor": false,
  "auto_archive": true,
  "tagOrderRisks": true,
  "error_emails": "kyle@gmail.com",
  "autoMapDuplicateProduct": true,
  "enabledMultiCurrency": false,
  "disableSyncPIIData": false
}

所以现在,我想从上面的 store_config 变量中获取“isOrderUpdateProcessor”值。

所以请帮我解决这个问题。

您可以使用另一个 JSON Extractor 通过选择单选按钮 JMeter variable 从您的变量中提取并将表达式添加为 $.isOrderUpdateProcessor 并将结果保存在新变量中

如果要从结果

中提取isOrderUpdateProcessor
  1. 在您的下方添加一个 JSON 提取器 JSON 提取器
  2. 配置 JSON 提取器以从 JMeter 变量 store_config
  3. 中提取值 isOrderUpdateProcessor

鉴于您的标签中有 groovy,它会是这样的:

vars.put('foo', new groovy.json.JsonSlurper().parseText(vars.get('StoreConfig')).isOrderUpdateProcessor as String)

更多信息: