关于nodejs连接MySQL返回的数据有RowDataPacket问题


使用nodejs连接数据库查询表后,拿到的数据是一个数组,数组里面是JSON格式的数据,但是每个JSON前面都有一个RowDataPacket,这就导致前端获取到这些数据后不得不进行一些格式处理,非常痛苦。未处理前是这个样子的:

 1 [ RowDataPacket {
 2     contractname: 'datatime',
 3     contractdesc: 'sdfsd',
 4     deploystatus: '0',
 5     deployuser: null,
 6     uploaddate: '2018-07-16 16:36:08',
 7     deploydate: null,
 8     isvalid: '1' },
 9   RowDataPacket {
10     contractname: 'sd',
11     contractdesc: 'sdf',
12     deploystatus: '0',
13     deployuser: '',
14     uploaddate: null,
15     deploydate: null,
16     isvalid: '1' } ]

其实我们可以在拿到数据后,进行一个JSON的格式化处理,这样就能把RowDataPacket给删掉啦,具体做法也很简单

1 var dataString = JSON.stringify(results);
2 var data = JSON.parse(dataString);

其中results就是从数据库拿到的数据,通过这样的格式化后,我们得到最终的数据如下

 1 [ { contractname: 'datatime',
 2     contractdesc: 'sdfsd',
 3     deploystatus: '0',
 4     deployuser: null,
 5     uploaddate: '2018-07-16 16:36:08',
 6     deploydate: null,
 7     isvalid: '1' },
 8   { contractname: 'sd',
 9     contractdesc: 'sdf',
10     deploystatus: '0',
11     deployuser: '',
12     uploaddate: null,
13     deploydate: null,
14     isvalid: '1' } ]

大功告成!!!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM