关于数组:循环JSON对象JavaScript

Looping JSON object JavaScript

本问题已经有最佳答案,请猛点这里访问。

这个JSON对象有问题….

1
2
3
4
5
6
7
8
9
10
{
   "1457458375537": {
       "message":"this is the message",
       "subject":"my subject"
    },
   "1457467436271": {
       "message":"test message",
       "subject":"hello"
    }
}

基本上,对于每个对象,那么长的数字(例如1457458375537),我想循环通过,但不确定如何引用这个长的数字并循环通过完整的JSON对象。


1
2
3
4
5
6
// data is all the json you gave in the example
for(var key in data){
    // keys are the numbers
    // and inner are the objects with message and subject
    var inner = data[key];
}

长数字是JSON中的关键。可以使用object.keys()函数循环键:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var data = {
    '1457458375537': {
        'message': 'this is the message',
        'subject': 'my subject'
    },
    '1457467436271': {
        'message': 'test message',
        'subject': 'hello'
    }
};

Object.keys(data).forEach(function(key) {
    console.log(key); // prints property name - long number
    console.log(data[key].message);
    console.log(data[key].subject);
});