当前位置: 首页 > 面试题库 >

如何将路径数组转换为JSON结构?

林威
2023-03-14
问题内容

我发现了问题如何将文件路径转换为treeview?,但我不确定如何在JavaScript中获得所需的结果:

我正在尝试将路径数组转换为JSON树:

https://jsfiddle.net/tfkdagzv/16/

但是我的道路被覆盖了。

我正在尝试采取这样的事情:

[
    '/org/openbmc/path1', 
    '/org/openbmc/path2', 
    ...
]

…然后变成…

output = {
   org: {
     openbmc: {
       path1: {},
       path2: {}
     }
   }
}

我敢肯定这很容易,但是我缺少一些东西。


问题答案:

const data = [
“/org/openbmc/examples/path0/PythonObj”,
“/org/openbmc/UserManager/Group”,
“/org/openbmc/HostIpmi/1”,
“/org/openbmc/HostServices”,
“/org/openbmc/UserManager/Users”,
“/org/openbmc/records/events”,
“/org/openbmc/examples/path1/SDBusObj”,
“/org/openbmc/UserManager/User”,
“/org/openbmc/examples/path0/SDBusObj”,
“/org/openbmc/examples/path1/PythonObj”,
“/org/openbmc/UserManager/Groups”,
“/org/openbmc/NetworkManager/Interface”
];


const output = {};
let current;

for (const path of data) {
    current = output;

    for (const segment of path.split('/')) {
        if (segment !== '') {
            if (!(segment in current)) {
                current[segment] = {};
            }

            current = current[segment];
        }
    }
}

console.log(output);

您的解决方案很接近,只是没有current正确重置变量。用这个:

current = output;

代替这个:

current = output[path[0]];


 类似资料:
  • 问题内容: 我的脚本向我返回了一个数组(JSON数组),如下所示: 我需要打印“ 键 / 对” 值,就像从“ 地图”中进行 打印一样,如下所示: 我收到的JSON格式是否可能与常规JSON格式不同? 我当前的代码基于 Selenium ,它使用 Java脚本 读取性能统计信息,如下所示: _JavaDoc中_的提到了以下情况: 如果脚本具有返回值(即,如果脚本包含return语句),则将执行以下步

  • 问题内容: 我想将结果数组转换为PHP中的JSON格式。这是我的代码: 我想转换为JSON格式并将JSON数据传递给jQuery插件。 问题答案: 在php> 5.2.0中可用:

  • 问题内容: 我有一个包含几个整数的数组。我已经向数组添加了一些值,但是现在我需要通过jQuery的方法将此数组发送到页面。如何将其转换为JSON对象进行发送? 问题答案: 向后兼容的脚本:https : //github.com/douglascrockford/JSON- js/blob/master/json2.js 并致电: 注意: JSON对象现在是大多数现代Web浏览器(IE 8及更高版

  • 问题内容: 我有一些字典想要转换为JSON。我的对象是类型,并且最终要得到这样的示例: 这是我正在尝试的方法,但是编译器不喜欢我的声明: 我怎样才能做到这一点? 问题答案: 一种简单的实现方法是扩展CollectionType。 使用可选的绑定和向下转换,然后序列化为数据,然后转换为字符串。 输出:

  • 问题内容: 我想仅使用简单的MySQL命令将结果表转换为MySQL中的JSON数组。例如查询 预期的JSON输出为 有没有办法在普通的MySQL中做到这一点? 编辑: 有一些答案,例如如何使用MySQL和PHP做到这一点,但我找不到纯MySQL解决方案。 问题答案: 新解决方案: 使用您的精彩评论构建,谢谢! 旧解决方案: 在@Schwern的帮助下,我设法提出了这个查询,这似乎行得通!

  • 问题内容: 我在ttf文件中有一种字体,想要生成文本转换为路径的SVG。我不需要图像(因此使用imagettftext或Image Magick字体渲染功能是不够的),我需要可以放大和缩小的形状,我想丢失有关所用字体的信息,并且不想在其中引用它SVG文件(因此此处不能使用字体声明)。可能吗? 问题答案: 我创建了自己的类来处理SVG字体文件并将文本转换为字形。使用示例: 结果示例: 我班的代码: