首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sails:将sql查询中的字段转换为json

sails:将sql查询中的字段转换为json
EN

Stack Overflow用户
提问于 2017-05-19 20:02:03
回答 1查看 243关注 0票数 1

我有这样的疑问:

代码语言:javascript
复制
    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});
    });

返回的结果如下所示:

代码语言:javascript
复制
{
  "data": [
    {
      "field1": "[\"element 1\", \"element 1\"]",
      ...
    }
  ]
}

您可以看到"\"element 1\",\"element 1\“是字符串,我不喜欢这样。我想让他们去博杰森。所以结果应该是这样的:

代码语言:javascript
复制
{
  "data": [
    {
      "field1": [\"element 1\", \"element 1\"],
      ...
    }
  ]
}

我怎样才能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-21 14:09:01

如果查询表示类似于多对多关系的内容,则可以查看.populate()函数。

否则你可以这样做:

代码语言:javascript
复制
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);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44078197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档