1

我用 javascript 代码编写了一个 html 文件,它读取平面结构的 json 文件并转换为树结构(考虑节点的父节点)。

输出存储在

var tree = [];

我通过将根节点 ( "parent":"null") 推送到树并将其他节点推送到它们各自的父节点来填充树数组。

最后我提出以下警告声明:

alert(JSON.stringify(tree, null, '  '));

我从 WAMP 服务器运行 HTML 文件。警报按预期显示带有内容的消息。但是,我想将数据写入文件而不是警报。我该怎么做呢?

我在 html 文件中编写了以下代码。abc.js 定义了一个名为 data 的变量,它以平面形式存储 json 数据。我需要通过写入文件来替换警报。

<html>
    <head>
        <script src="http://d3js.org/d3.v3.min.js"></script>
        <script src="abc.js"></script>
        <script type="text/javascript">
            // create a name: node map
            var dataMap = data.reduce(function(map, node) {
                map[node.id] = node;
                return map;
            }, {});

            // create the tree array
            var tree = [];

            data.forEach(function(node) {
                // add to parent
                var parent = dataMap[node.parent];

                if (parent) {
                    // create child array if it doesn't exist
                    (parent.children || (parent.children = []))
                        // add node to child array
                        .push(node);
                } else {
                    // parent is null or missing
                    tree.push(node);
                }
            });

            alert(JSON.stringify(tree, null, '  '));
        </script>
    </head>

    <body></body>
</html>
4

0 回答 0