After reading a number of questions on parsing an object in javascript I'm still having issues with parsing the following query response:
{"messagesProfile": "[{\"message\": \"This is a test message\", \"sender\": \"test@test.com\", \"receiver
\": \"test@test.com\"}, {\"message\": \"This is a second test message\", \"sender\": \"test@test.com
\", \"receiver\": \"test@test.com\"}, {\"message\": \"This is a third test message\", \"sender\": \"test
@test.com\", \"receiver\": \"test@test.com\"}]", "successProfileMessages": true}
The code that parses the above response is:
if(data.successProfileMessages === false) {
alert("Failed to retrieve messages");
} else {
if(typeof data.messagesProfile != "undefined" && data.messagesProfile != null && data.messagesProfile.length > 0) {
messages = messages + "<tr>";
messages = messages + "<td>";
messages = messages + "There are no messages yet!";
messages = messages + "</td>";
messages = messages + "<td>";
} else {
// Successfully retrieved messages
for(var i in data) {
messages = messages + "<tr>";
messages = messages + "<td>";
messages = messages + data.messagesProfile.sender[i];
messages = messages + "</td>";
messages = messages + "<td>";
messages = messages + data.messagesProfile.message[i];
messages = messages + "</td>";
messages = messages + "</tr>";
}
}
}
How is it possible to unescape the escaped double quotes and iterate through the JSON object's array fields?
"[{\"message\": \"This is a test message\", \"sender\": \"test@test.com\", \"receiver
\": \"test@test.com\"}, {\"message\": \"This is a second test message\", \"sender\": \"test@test.com
\", \"receiver\": \"test@test.com\"}, {\"message\": \"This is a third test message\", \"sender\": \"test
@test.com\", \"receiver\": \"test@test.com\"}]"