解析js对象以通过JavaScript查询字符串,例如使用已定义的模板对查询进行序列化

时间:2018-06-28 04:05:16

标签: javascript json

我自己的解析器从JS对象到具有定义模板的查询字符串的解析器有问题。我有如下的JS模板:

var simpleObj = {
  $and : [
  {
    Age: {$gte: 20},
    Gender: {$eq: 0}
  },
  {
    Age: {$lte: 65},
    Gender: {$eq: 0}
  }
  ],
  $or : {
    City: { $eq: 'Singapore' }
  }
};

var Op = {
  or: Symbol.for('OR'),
  and: Symbol.for('AND'),
  eq: Symbol.for('='),
  ne: Symbol.for('!='),
  gte: Symbol.for('>='),
  gt: Symbol.for('>'),
  lte: Symbol.for('=<'),
  lt: Symbol.for('<')
};

parserJsObjectToString(obj) {
  ...
  return 'string'
}

调用parserJsObjectToString(obj){...}是像这样的字符串时的预期结果

query =“(((年龄> = 20 AND性别= 0)OR((年龄<= 65 AND性别= 0))OR((城市='新加坡')”

请在这里提出逻辑建议。谢谢。

0 个答案:

没有答案