请使用 js 递归 {a:[{'123':'666'}],b:{ab:['123','1234']},c:'123'}
时间: 2023-09-30 13:06:10 浏览: 42
好的,以下是使用JavaScript递归遍历给定的JSON数据结构并打印键值对对应的值的示例代码:
```javascript
function printJsonValue(key, value) {
console.log(key + ": " + value);
}
function recursiveJsonPrint(json) {
Object.entries(json).forEach(([key, value]) => {
if (typeof value === "string") {
printJsonValue(key, value);
} else if (Array.isArray(value)) {
value.forEach((nestedObj) => {
recursiveJsonPrint(nestedObj);
});
} else if (typeof value === "object") {
recursiveJsonPrint(value);
}
});
}
const json = {
a: [{ '123': '666' }],
b: { ab: ['123', '1234'] },
c: '123'
};
recursiveJsonPrint(json);
```
在这个示例中,我们定义了两个函数:`printJsonValue`和`recursiveJsonPrint`。`printJsonValue`函数用于打印键值对对应的值,`recursiveJsonPrint`函数是递归函数,用于遍历JSON数据结构。
我们使用`Object.entries`来遍历JSON对象的键值对,并根据值的类型进行相应的处理。如果值是字符串类型,则调用`printJsonValue`函数进行打印。如果值是数组类型,则遍历数组中的每个元素,递归调用`recursiveJsonPrint`函数。如果值是对象类型,则递归调用`recursiveJsonPrint`函数。
请注意,这只是一个简单的示例,仅支持特定的JSON结构。如果JSON结构更加复杂,可能需要进行更多的类型检查和处理。