c# - C# 中的查询解析器
问题描述
我正在制作有助于解析 API 端点中查询字符串中的数据的解析器。
例如https://testt.ap.com/testdata/v1/data?fq= ((A AND B) OR (C AND D))
我需要解析数据并将其传递给 LINQ,它将与数据库连接并获取数据。
SQL 查询将从这些字符串形成,它应该与 A、B 和 C、D 进行 AND 运算,之后它将执行 OR。
这是示例之一,用户可以传递任何复杂的查询来过滤数据。
注意:我不会使用 Odata 库。
解决方案
您可以尝试使用递归下降解析器,这非常简单且实现起来很有趣。你可以检查那个链接。
推荐阅读
- asp-classic - CDO.Message 收件人和收件人字段更改为“友好名称”和电子邮件地址
- javascript - 如何将来自 DOM 的用户输入存储在 Javascript 变量中?
- python - 如何识别和去除乱码?
- coffeescript - Atom 编辑器中特定关键字的语法高亮显示
- node.js - nodejs mssql 连接 ETIMEDOUT
- google-sheets - Sumif 在可变日期之间具有多个条件
- assembly - 将指向 Rust 数组的指针传递到 x86-64 Asm -- 指针减一
- c - 错误:类型冲突,错误:形式参数 2 的类型不完整
- javascript - Javascript Onclick 滚动和高亮示例
- android - 一起使用 ARCore 和 Vision SDK Android