Javascript对象遍历

Javascript对象遍历,javascript,json,list,unordered,Javascript,Json,List,Unordered,我需要关于遍历以下JSON中的每个元素的帮助,获取key和value,并将其像无序列表一样打印出来 var dataSource = ({ "Items": ({ "Deserts": ({}), "Veg": ({ "VegPulao": "Veg Pulao", "PalakPaneer

我需要关于遍历以下JSON中的每个元素的帮助,获取key和value,并将其像无序列表一样打印出来

var dataSource = ({
                "Items": ({
                    "Deserts": ({}),
                    "Veg": ({
                        "VegPulao": "Veg Pulao",
                        "PalakPaneer": "Palak Paneer",
                        "PaneerButterMasala": "Paneer Butter Masala"
                    }),

                    "Chicken": ({
                        "Tandoori": "Tandoori special"
                    }),
                    "Hot drinks": ({
                        "Coffe": ({ "Hot": "Hot Coffe", "Medium": "Medium", "Others": ({ "Iris": "Iris Coffe", "Capuccino": "Capuccino" }) }),
                        "Tea": ({"Red": "Red Tea", "Black": "Black Tea"}),
                        "BadamMilk": "Hot Badam Milk",
                        "Bornvita": "Hot Bornvita",
                        "Milk": "Hot Milk"
                    }),
                    "Juice": ({
                        "Mango": "Mango",
                        "Berry": "Berry",
                        "Grapes": "Grapes",
                        "Wine": ({
                            "Rose": "Rose",
                            "Red wine": "Red",
                            "Apple": "Apple",
                            "Hard drinks": ({
                                "Royal challenge": "Royal challenge",
                                "Blender's Pride": "Blender's Pride"
                            })
                        })
                    })

                })
            });

现在还不清楚您想要什么形式的输出,但这里有一种遍历数据结构并生成缩进输出的方法。此外,括号在数据定义中是不必要的(我已经删除了它们,以使数据更易于阅读)


工作演示:

你在为实现目标而努力什么??请同时粘贴代码,我想在div元素中打印每个值并输入这个JSON。先生,我需要一些帮助。请注意,您的示例中有一个JavaScript对象,而不是JSON。即使您以JSON的形式获取数据,一旦对其进行解析,您也要处理常规JavaScript对象和数组。问题不在于JSON,而在于如何处理JavaScript对象/数组。@VictorSoto:为什么
()
应该是
[]
?这只是分组运算符。它们完全没有必要,但它们是完全有效的。诚然,相同的数据不是有效的JSON,但它肯定是有效的JavaScript,这就是我们这里的内容。非常感谢verymuch先生,这是一个有用的代码。。我可以给你电子邮件地址吗,我想成为你的朋友这是完美的代码,感谢jfriend00。情况是这样的closed@user3067443-由于您可能是StackOverflow新手,您是否知道在StackOverflow上,如果您得到了一个好答案,您应该通过单击答案左侧的复选标记来选择“最佳答案”?这会告诉社区你的问题已经得到了回答,奖励提供答案的人,并为你按照正确的程序赢得一些声誉积分。谢谢你,先生,非常感谢你的帮助。
function output(str, level) {
    var obj = document.getElementById("output");
    var div = document.createElement("div");
    var node = document.createTextNode(str);
    div.style.marginLeft = (level * 20) + "px";
    div.appendChild(node);
    obj.appendChild(div);
}

function traverseObject(obj, level) {
    for (var prop in obj) {
        if (typeof obj[prop] === "object") {
            output(prop, level);
            traverseObject(obj[prop], level + 1);
        } else {
            output(prop + ": " + obj[prop], level);
        }
    }
}

traverseObject(dataSource, 0);