You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Postman Flow中提取JSON对象paths的键名?

在Postman Flow中提取JSON对象的键名

我有如下JSON数据:

{
  "id": "0001",
  "type": "models",
  "name": "model_auto",
  "paths": {
    "/api/v1/vehicleModels": {
      "get": {
        "summary": "Возвращает список автопроизводителей",
        "description": "Возвращает список автопроизводителей",
        "operationId": "1"
      }
    },
    "/api/v1/vehicleModels/{id}": {
      "get": {
        "summary": "Поиск списка по его id",
        "description": "Поиск списка по его id",
        "operationId": "2"
      }
    },
    "/api/v1/vehicleCategorys": {
      "get": {
        "summary": "Список 3",
        "description": "Возвращает список 3",
        "operationId": "3"
      }
    }
  }
}

我需要提取paths对象的所有键名,用JSON Path表达式$.paths.*~可以得到结果:

[
  "/api/v1/vehicleModels",
  "/api/v1/vehicleModels/{id}",
  "/api/v1/vehicleCategorys"
]

但在Postman Flow里尝试了Evaluate、Select工具,以及如下脚本都没成功:

for (var key=0 in jsonData.paths) {
    console.log(key)
}

请问如何在Postman Flow中实现这个需求?


方法1:使用Evaluate工具

在Postman Flow中添加Evaluate节点,输入以下表达式(替换jsonData为你实际使用的JSON变量名):

Object.keys(jsonData.paths)

执行后节点会直接返回paths所有键名组成的数组,效果和JSON Path表达式一致。

方法2:使用Script工具

添加Script节点,编写如下脚本(假设传入的JSON数据存在input变量中):

// 提取paths的所有键名
const pathsKeys = Object.keys(input.paths);
// 将结果传递给后续节点使用
output.set('pathsKeys', pathsKeys);

脚本通过Object.keys()方法直接获取对象键名,再用output.set()把结果输出到Flow的变量中,方便后续节点调用。


内容的提问来源于stack exchange,提问作者Владимир Костяник

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 23:25:26