[英]Handle multidimensional json array
How can I access the key and values of this object? 如何访问该对象的键和值?
{
"chat_data": {
"nickname": "somevalue",
"items": {
"FncZ9Q": [{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5"
}, {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5"
}, {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5"
}],
"GYDjsA": [{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5"
}, {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
"key5": "value5"
}]
}
}
}
I tried some techniques but I don't know how I solve this issue by myself. 我尝试了一些技巧,但是我不知道自己如何解决这个问题。 Here is my ajax call where the data should be managed.
这是我的ajax调用,应该在其中管理数据。
$.ajax({
url: "/dataUrl",
type: "post",
cache: false,
dataType: 'json',
success: function (data) {
for (var key in data.chat_data.items) {
var obj = data.chat_data.items[key];
$.each(data.chat_data.items, function (i, value) {
console.log('Value of ' + i + ' is : ' + value);
})
// ...
}
}
});
I hope someone can help me out. 我希望有人能帮助我。 Regards Sascha
问候萨沙
Loop. 环。 Loop.
环。 And loop one more time.
再循环一次。
var data = JSON.parse('{"chat_data":{"nickname":"somevalue","items":{"FncZ9Q":[{"key1":"value1","key2":"value2","key3":"value3","key4":"value4","key5":"value5"},{"key1":"value1","key2":"value2","key3":"value3","key4":"value4","key5":"value5"},{"key1":"value1","key2":"value2","key3":"value3","key4":"value4","key5":"value5"}],"GYDjsA":[{"key1":"value1","key2":"value2","key3":"value3","key4":"value4","key5":"value5"},{"key1":"value1","key2":"value2","key3":"value3","key4":"value4","key5":"value5"}]}}}'); for (var key in data.chat_data.items) { var obj = data.chat_data.items[key]; log('Item "' + key + '":'); for (var index in obj) { var obj2 = obj[index], list = []; for (var prop in obj2) { list.push('"' + prop + '": "' + obj2[prop] + '"'); } log(' Object at index ' + index + '=> ' + list.join(', ')); } } function log(txt){ document.body.innerHTML += '<pre>' + txt + '</pre>'; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
You have to use three nested loops, like that: 您必须使用三个嵌套循环,如下所示:
for (const i in data.chat_data.items) {
for (const j of data.chat_data.items[i]) {
for (const key in j) {
const value = j[key]
console.log(key, value)
}
}
}
have you tried underscorejs it is easy to install and use 您是否尝试过underscorejs,它易于安装和使用
_.allKeys(object)
Retrieve all the names of object's own and inherited properties. 检索对象自己的和继承的属性的所有名称。
hope it helps 希望能帮助到你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.