需要在JSON多维数组中追加空数组

时间:2018-07-20 09:57:48

标签: json jstree

我使用JSTree来显示树结构。现在,在编辑记录时,需要显示选定的父母/孩子。为此,我在json下方,这是json才能在树中显示选定的父/子节点。

varpathArray={
  "func_extensions_job": [
    {
      "CodiacSDK.NewModule.dll;extensionCreatePre;": [
        {
          "CodiacSDK.NewModule.dll;extensionInquirePost;": [

          ]
        }
      ]
    }
  ]
};

但是它的静态json和我需要动态json才能像上面那样转换。以下是我通过API响应获得的json。现在,我需要在最后一个值处添加一个空数组。

{"func_extensions_job":[{"CodiacSDK.NewModule.dll;extensionCreatePre;":[{"CodiacSDK.NewModule.dll;extensionExecutePost;":["CodiacSDK.PythonWrapper.dll;UnitValues::extensionExecutePre;"]}]}]}

我有这个

["CodiacSDK.PythonWrapper.dll;UnitValues::extensionExecutePre;"]

我需要在此转换

[{"CodiacSDK.NewModule.dll;extensionInquirePost;":[]}]

那么有什么办法可以做到呢?

我正在使用下面的函数来生成没有空对象的json数组

var path = $("#testing").jstree().get_path($("#testing").jstree("get_selected", true)[0], '{/}').split('{/}');

            var resJson = {};

            console.log(JSON.stringify(resJson));

            for (var j = path.length; j > 1; j--) {
                //console.log(path[j - 2]);

                if (path[j - 2] && !Object.keys(resJson).length) {
                    resJson[path[j - 2]] = [path[j - 1]];
                } else {
                    var temp = resJson;
                    resJson = {};
                    resJson[path[j - 2]] = [temp];
                }
            }

感谢您的帮助。预先感谢。

0 个答案:

没有答案