views:

43

answers:

2

Hello,

I have this JSON object:

{"time":"123456789", "raw":"chat_history", "data":{
"msg":[
 {"time":1111111111, "user":"user1", "text":"text from user1"},
 {"time":2222222222, "user":"user2", "text":"text from user2"},
 {"time":3333333333, "user":"user3", "text":"text from user3"},
 {"time":4444444444, "user":"user4", "text":"text from user4"}
]
}}

I have to create a FOR to loop the elements of data.msg and print it:

I would print these results with the FOR:

11111111111 - user1 - text from users1
22222222222 - user2 - text from users2
33333333333 - user3 - text from users3
44444444444 - user4 - text from users4

Could you help me?

Thank you very much

+3  A: 
for(var i = 0; i < data.msg.length; i++)
{
    var row = data.msg[i];
    print(row.time + ' - ' + row.user + ' - ' + row.text);
}
ThiefMaster
+1,i would put opening curly at the end of first row though...
Sinan Y.
Pretty much a code style thing. Some people prefer it on a new line and some on the same line. It makes no difference.
ThiefMaster
A: 
var msg = yourJsonObject.data.msg;

for (var i = 0, len = msg.length; i < len; i++) {
  // document.write only for example
  document.write(msg[i].time + ' - ' + msg[i].user + ' - ' + msg[i].text);
}
RoToRa
Reading msg.length is not a function call, so there is no need to assign it to another variable. Just use `i < msg.length` in the loop condition.
ThiefMaster