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);
我是 运行 邮递员,我想使用可视化工具将 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);