【问题标题】:Convert json in javascript structure在javascript结构中转换json
【发布时间】:2021-09-20 01:14:04
【问题描述】:

我在网上搜索了TreeView库,分析了它的功能,我决定使用它,我从服务器获取数据,格式类似于以下在一个json中

{
"company_1": {
    "sub_company_1": [
        {
            "id_1": "id_1",
            "data_1": "data_1",
            "data_2": "data_2"
        }
    ]
},
"company_2": [
    {
        "id_1": "id_1",
        "data_1": "data_1",
        "data_2": "data_2"
    },
    {
        "id_1": "id_1",
        "data_1": "data_1",
        "data_2": "data_2"
    }
],
"company_3": {
    "sub_company_1": {
        "sub_group_1": [
            {
                "id_1": "id_1",
                "data_1": "data_1",
                "data_2": "data_2"
            }
        ]
    }
},
"company_4": {
    "0": {
        "id_1": "id_1",
        "data_1": "data_1",
        "data_2": "data_2"
    },
    "1": {
        "id_1": "id_1",
        "data_1": "data_1",
        "data_2": "data_2"
    },
    "sub_company_1": {
        "0": {
            "id_1": "id_1",
            "data_1": "data_1",
            "data_2": "data_2"
        },
        "sub_group_1": [
            {
                "id_1": "id_1",
                "data_1": "data_1",
                "data_2": "data_2"
            },
            {
                "id_1": "id_1",
                "data_1": "data_1",
                "data_2": "data_2"
            },
            {
                "id_1": "id_1",
                "data_1": "data_1",
                "data_2": "data_2"
            },
        ],
    },
    "sub_company_2": {
        "0": {
            "id_1": "id_1",
            "data_1": "data_1",
            "data_2": "data_2"
        },
        "sub_group_1": [
            {
                "id_1": "id_1",
                "data_1": "data_1",
                "data_2": "data_2"
            },
            {
                "id_1": "id_1",
                "data_1": "data_1",
                "data_2": "data_2"
            },
            {
                "id_1": "id_1",
                "data_1": "data_1",
                "data_2": "data_2"
            },
        ],
    }
}

}

我已经多次尝试达到正确的结果,但都没有成功。有人可以指导我如何执行此功能吗?请多谢。

我想要达到的结构如下

var treeObject = [
        {
            text:"company_1", 
            children:[ 
                {
                    text:"sub_company_1",
                    children:[
                        {text:"data_1 data_2", val: "id_1"}
                    ]
                }
            ]
        },
        {
            text:"company_2", 
            children:[
                {text:"data_1 data_2", val: "id_1"},
                {text:"data_1 data_2", val: "id_1"}
            ]
        },
        {
            text:"company_3", 
            children:[ 
                {
                    text:"sub_company_1",
                    children:[
                        {
                            text:"sub_group_1",
                            children:[
                                {text:"data_1 data_2", val: "id_1"}
                            ]
                        }
                    ]
                }
            ]
        },
        {
            text:"company_4", 
            children:[ 
                {text:"data_1 data_2", val: "id_1"},
                {text:"data_1 data_2", val: "id_1"},
                {
                    text:"sub_company_1",
                    children:[
                        {text:"data_1 data_2", val: "id_1"},
                        {
                            text:"sub_group_1",
                            children:[
                                {text:"data_1 data_2", val: "id_1"}
                                {text:"data_1 data_2", val: "id_1"}
                                {text:"data_1 data_2", val: "id_1"}
                            ]
                        }
                    ]
                },
                {
                    text:"sub_company_2",
                    children:[
                        {text:"data_1 data_2", val: "id_1"},
                        {
                            text:"sub_group_1",
                            children:[
                                {text:"data_1 data_2", val: "id_1"}
                                {text:"data_1 data_2", val: "id_1"}
                                {text:"data_1 data_2", val: "id_1"}
                            ]
                        }
                    ]
                }
            ]
        }
    ];

有人可以指导我如何执行此功能

【问题讨论】:

  • 到目前为止您尝试过什么?你特别卡在哪里? JSon 已经是 JS(这就是 JSON 中的 JS 所代表的意思),所以您的问题实际上是如何从一个对象转换为另一个对象
  • 你试过JSON.parse()吗?
  • 您能否添加更多关于您面临的问题的详细信息,例如错误或您当前获得的输出?
  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: javascript arrays json


【解决方案1】:

您可以使用JSON.parse()

JSON.parse() 方法解析 JSON 字符串,构造字符串描述的 JavaScript 值或对象。可以提供一个可选的 reviver 函数来在结果对象返回之前对其执行转换。

【讨论】:

    猜你喜欢
    • 2011-01-31
    • 1970-01-01
    • 2022-01-05
    • 2021-12-10
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    相关资源
    最近更新 更多