我有这样的疑问:
var sql = "select * from a left join b where a.id in (select field from c)";
Model.query(sql, function (err, result) {
return res.json({data:result});
});返回的结果如下所示:
{
"data": [
{
"field1": "[\"element 1\", \"element 1\"]",
...
}
]
}您可以看到"\"element 1\",\"element 1\“是字符串,我不喜欢这样。我想让他们去博杰森。所以结果应该是这样的:
{
"data": [
{
"field1": [\"element 1\", \"element 1\"],
...
}
]
}我怎样才能做到这一点?
发布于 2017-05-21 14:09:01
如果查询表示类似于多对多关系的内容,则可以查看.populate()函数。
否则你可以这样做:
var data = [{
"field1": "[\"element 1\", \"element 2\"]",
"field2": "[\"element 1\", \"element 2\"]",
}];
var parsedData = [];
data.forEach(function(item, index) {
var parsed = {};
for (var fieldName in item) {
try {
parsed[fieldName] = JSON.parse(item[fieldName]);
} catch (e) {
parsed[fieldName] = [];
}
}
parsedData.push(parsed);
});
console.log(parsedData);
https://stackoverflow.com/questions/44078197
复制相似问题