【问题标题】:How to do a recursive JSON based on variable in javascript?如何基于 javascript 中的变量执行递归 JSON?
【发布时间】:2019-06-10 21:17:57
【问题描述】:

我在 Postman 工作并用 javascript 编写代码。我有一个名为 path 的全局变量,它只是一个路径,例如设备/XYZ/conf_1

我的代码从一个字符串中创建一个数组:

var path = globals.path.split("/");
var len = path.length;

现在我想制作一个用于正文请求的递归 JSON 在这种特定情况下,应该有这样的 JSON:

var jsonPath = JSON.stringify([{
    "name": path[0],
    "type": "Group",
    "children": [{
        "name": path[1],
        "type": "Group",
        "children": [{
            "name": path[2],
            "type": "Group",
            "children": []
        }]
    }]
}]);
pm.globals.set('jsonPath', jsonPath);

路径的每个索引都是一个对象,其参数称为名称、类型和子项(每个人的类型都相同)。此外,每个索引都应该是前一个索引的子索引,并且它们的值应该放在“名称”中。当然它必须是一个自动生成 JSON 的递归函数。

感谢您的任何帮助。祝你有美好的一天。

【问题讨论】:

    标签: javascript recursion postman


    【解决方案1】:

    你可以试试这个,

    var path = 'hello/1/2/3';
    
    var paths = path.split('/');
    
    var resultObj = paths.reduce((resultObj, content, index) => {
        var traverse = resultObj ;
        for (var i=0; i<index; i++) {
            traverse = traverse[0]['children'];
        }
        var obj = {
            name: content,
            type: 'group',
        };
        obj['children'] = [];
        traverse.push(obj);
        return resultObj;
    }, []);
    
    console.log(resultObj);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多