【问题标题】:Build array dynamically with JavaScript/Postman使用 JavaScript/Postman 动态构建数组
【发布时间】:2021-10-22 13:55:21
【问题描述】:

希望使用 JavaScript/Postman 创建 JSON 响应正文,作为带有一些动态变量的预请求脚本。我遇到的问题是在数组内动态生成数组。我收到的数据是一个 CSV 文件,所以值就像 Value1|Value2 一样,我需要将值与管道分隔符分开并将它们推送到自己的类别数组中

使用上述示例中的 CSV 值,输出应如下所示:

{
"id": 1,
"store": 1,
"title": custom_title,
"url": custom_url,
"content": content,
"categories":[
    {
       "id":1,
       "name":"Value1",
       "type":"Type"
     },
     {
       "id":1,
       "name":"Value2",
       "type":"Type"
     },
    //add more if needed dynamically
]
}

我试过这样的

var catNum = "Blog|Healthy".split('|');
catNum.forEach((value, name) => bodyRequest.categories.push({ 
    "id": 1,
    "type": "Category",
    "name": value.toLowerCase(),
    "blog_category_path": value
}));

试图将以上内容推入类别数组"categories":[]

【问题讨论】:

  • .forEach() 回调的第二个参数不是“名称”
  • 使用Array.map() 而不是Array.forEach()。如果您想使用forEach,请使用forEach(([ value, name ]) =>,以便在拆分后值和名称实际上得到正确传播。否则使用 value[ 0 ] 和 value[ 1 ] 之类的东西来正确提取名称和值。

标签: javascript multidimensional-array postman-pre-request-script


【解决方案1】:
var catNum = "Blog|Healthy".split('|');

将数组字符串返回给 catNum。

不如这样做

catNum.forEach(value => bodyRequest.categories.push({ 
    "id": 1,
    "type": "Category",
    "name": value.toLowerCase(),
    "blog_category_path": value
}));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多