gpt4 book ai didi

json - Golang将网址 slice 转换为JSON网站树

转载 作者:行者123 更新时间:2023-12-01 22:24:55 25 4
gpt4 key购买 nike

我有一个URL列表,需要将其更改为JSON树结构。到目前为止,我尝试了几种不同的方法,但都失败了。目前,我正在尝试将this algorithm转换为Golang,但它没有做任何让我陷入其逻辑的事情,我对golang的转换存在缺陷,我陷入了困境。

tree.go

package tree

import (
"fmt"
)

type TreeNode struct {
Path string `json:"path"`
Children []TreeNode `json:"children"`
}

urls := []string{
"fenceprosc.com/hello-world/#respond",
"fenceprosc.com/199-2/12615753_1208442715850011_4650003168465028857_o/#respond",
"fenceprosc.com/199-2/28339_127294957298131_7361568_n/#main",
"fenceprosc.com/199-2/10917425_1025362007491417_2370903639534256456_n/#main",
"fenceprosc.com/199-2/vinyl-gate-2/#main",
"fenceprosc.com/199-2/vinyl-gate1/#main",
}

func GetTheParentNodeChildArray(path string, treeNodes *[]TreeNode) []TreeNode {
for _, treeNode := range *treeNodes {
if len(treeNode.Children) > 0 {
var possibleParent = false

for _, node := range treeNode.Children {
// What do I do here???
fmt.Println("node::", node)
}

if possibleParent {
return GetTheParentNodeChildArray(path, &treeNode.Children)
}
}
}

return *treeNodes
}

// Add an item node in the tree, at the right position
func addToTree(node TreeNode, treeNodes *[]TreeNode) {
parentNodeArr := GetTheParentNodeChildArray(node.Path, treeNodes)
fmt.Println("parentNodeArr", parentNodeArr)
if parentNodeArr == nil {
parentNodeArr = *treeNodes
}

parentNodeArr = append(parentNodeArr, TreeNode{
Path: node.Path,
})
}

//Create the item tree starting from urls
func createTree(nodes []TreeNode) []TreeNode {
var tree []TreeNode
for _, node := range nodes {
addToTree(node, &tree)
}

return tree
}

func BuildTree(urls []string) []string {
//tree := &TreeNode{
// Path: "/",
// Children: []TreeNode{},
//}

var data []TreeNode
for _, u := range urls {
node := TreeNode{
Path: u,
}

data = append(data, node)
}

tree := createTree(data)
fmt.Println("tree::", tree)
return urls
}


我对任何其他解决方案也完全开放,对此算法没有附件。只是很难弄清楚如何将它们构建成一棵树。

最佳答案

在这里找到了可行的解决方案:Get a tree like structure out of path string

真的和实现一样简单。

关于json - Golang将网址 slice 转换为JSON网站树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60593522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com