Java 将JSON查询过滤器转换为SQL?
我正在寻找一个Java 将JSON查询过滤器转换为SQL?,java,sql,json,Java,Sql,Json,我正在寻找一个java库,它可以将json输入动态转换为SQL 例如,库可能需要以下json数据: { "rules": [ { "field": "firstname", "value": [ "John", "Doe" ], "operator": "in" }, {
java
库,它可以将json
输入动态转换为SQL
例如,库可能需要以下json数据:
{
"rules": [
{
"field": "firstname",
"value": [
"John",
"Doe"
],
"operator": "in"
},
{
"rules": [
{
"field": "age",
"value": 18,
"operator": "EQUALS"
}
],
"condition": "AND"
}
]
}
然后应该能够将其转换为动态sql查询:
SELECT * FROM persons where firstname IN ("John", "Doe") AND age = 18;
是否有任何现有框架可供我构建?我不确定库是否能获得预期的输出。但是您可以使用以下代码来编写Java方法 假设输入是JSON对象
JSONObject jo = (JSONObject) obj;
// getting fieldname and operator
String field= (String) jo.get("field");
String operator= (String) jo.get("operator");
//getting values
JSONArray ja = (JSONArray) jo.get("value");
// iterating values
Iterator itr2 = ja.iterator();
然后您可以使用上面的代码编写动态SQL查询。是的,但我必须实现特定的SQL语法进行解析。我希望能有一个图书馆,这样我就不必重新发明轮子了。你可以检查这个url:它不是你想要的,但也许你能改变你的要求?无论如何,我创建了这个库:。也许可以直接创建sql查询,而不是像您那样创建过滤器?