Я использую Node.js и My-SQL для создания API для отдыха. Я хочу, чтобы мой ответ был подобен вложенному объекту JSON, который будет легко читать на моем интерфейсе. Я пытался использовать цикл for, но это не дает мне правильного результата, есть ли какие-либо плагины для форматирования этого ответа или есть простой способ сделать этот вложенный ответ JSON.
мой SQL-запрос
var sql ='SELECT comments.comment_id,comments.photo_id,comments.comment_message,comments.comment_date ,tb_users.username as comment_usename,tb_users.first_name as comment_firstname ,tb_users.profile_icon as comment_profile_icon,tb_reply.id,tb_reply.comment_id,tb_reply.photo_id,tb_reply.reply_message,tb_reply.create_date as reply_date,u2.username as r_usename,u2.first_name as r_first_name,u2.profile_icon as r_profile_icon '+
' FROM comments LEFT JOIN tb_reply ON tb_reply.comment_id=comments.comment_id '+
' INNER JOIN tb_users ON tb_users.id=comments.user_id '+
' LEFT JOIN tb_users u2 ON tb_reply.user_id = u2.id '+
' WHERE comments.photo_id= '+photoid+' ORDER BY comments.comment_id DESC LIMIT ' +(pageNo-1)*20+ ', 20 '
и я получаю ответ, как
[
{
"comment_id": 20,
"photo_id": 68,
"comment_message": "@singh wow nod.gif ",
"comment_date": "2018-06-03T11:12:50.000Z",
"comment_usename": "[email protected]",
"comment_firstname": "love",
"comment_profile_icon": "",
"id": 1,
"reply_message": "lol ",
"reply_date": "0000-00-00 00:00:00",
"r_usename": "[email protected]",
"r_first_name": "sud3",
"r_profile_icon": ""
},
{
"comment_id": 20,
"photo_id": 68,
"comment_message": "@singh wow nod.gif ",
"comment_date": "2018-06-03T11:12:50.000Z",
"comment_usename": "[email protected]",
"comment_firstname": "love",
"comment_profile_icon": "",
"id": 2,
"reply_message": "lol hahahhaha . ",
"reply_date": "0000-00-00 00:00:00",
"r_usename": "[email protected]",
"r_first_name": "sud4",
"r_profile_icon": ""
},
{
"comment_id": 20,
"photo_id": 68,
"comment_message": "@singh wow nod.gif ",
"comment_date": "2018-06-03T11:12:50.000Z",
"comment_usename": "[email protected]",
"comment_firstname": "love",
"comment_profile_icon": "",
"id": 3,
"reply_message": "r2t3s",
"reply_date": "2018-06-01T18:42:49.000Z",
"r_usename": "[email protected]",
"r_first_name": "love",
"r_profile_icon": ""
},
но мне нужно
[
{
"comment_id": 20,
"photo_id": 68,
"comment_message": "@singh wow nod.gif ",
"comment_date": "2018-06-03T11:12:50.000Z",
"comment_username": "[email protected]",
"comment_first_name": "love",
"comment_profile_icon": "",
"reply" [
{
"id": 1,
"reply_message": "lol ",
"reply_date": "0000-00-00 00:00:00",
"r_usename": "[email protected]",
"r_first_name": "sud",
"r_profile_icon": ""
},
{
"id": 2,
"reply_message": "lol hahahhaha . ",
"reply_date": "0000-00-00 00:00:00",
"r_usename": "[email protected]",
"r_first_name": "sud4",
"r_profile_icon": ""
},
{
"id": 3,
"reply_message": "r2t3s",
"reply_date": "2018-06-01T18:42:49.000Z",
"r_usename": "[email protected]",
"r_first_name": "love",
"r_profile_icon": ""
}
]
}
}