我用 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>