Postman 可视化并使用 Handlebars 进行迭代

Postman Visualisation and iterating with Handlebars

我是 运行 邮递员,我想使用可视化工具将 JSON 响应转换为一组 table。本质上,响应在其 'content' 属性 中包含一个对象数组。我想遍历该数组,并为每个对象生成一个 table of 属性 name, value rows.

假设我得到这样的结果:

{
    "content": [
        {
            "Study Number": "X123",
            "Primary Completion Date Planned": "2018-11-09",
            "Primary Completion Date Actual": null,
            "Favourite Colours": [
                "Blue"
            ]
        }
    ],
    "last": true,
    "totalElements": 1,
    "totalPages": 1,
    "first": true,
    "sort": {
        "sorted": false,
        "unsorted": true,
        "empty": true
    },
    "size": 100,
    "number": 0,
    "numberOfElements": 1,
    "empty": false
}

我可以对其进行迭代以获得像这样的可行结果,对于内容的第一个元素:

var template = `<table bgcolor="#FFFFFF">
        <tr>
            <th>Prop</th>
            <th>Val</th>
        </tr>
        {{#each response}}
            <tr>
                <td>{{key}}</td>
                <td>{{val}}</td>
            </tr>
        {{/each}}
    </table>`;

const response = pm.response.json();
data = { 'response' : [] };

for (var prop in response.content[0]){
  if (response.content[0].hasOwnProperty(prop)){
    data['response'].push({ 'key' : prop, 'val' : response.content[0][prop] });
  }
}

// Set visualizer
pm.visualizer.set(template, data);

如何遍历 'content' 中的多个元素?我试过在每个循环中使用“#this”进行迭代,但我似乎无法找出正确的语法。

费了好大劲,这里是工作代码:

var template = `
{{#each content}}
    <table bgcolor="#FFFFFF">
        <tr>
            <th>Property</th>
            <th>Value</th>
        </tr>
        {{#each this}}
        <tr>
            <td>{{@key}}</td>
            <td>{{.}}</td>
        </tr>
        {{/each}}
    </table>
{{/each}}`;

const response = pm.response.json();

// Set visualizer
pm.visualizer.set(template, response);