代码之家  ›  专栏  ›  技术社区  ›  membersound

将JSON查询过滤器转换成SQL?

  •  0
  • membersound  · 技术社区  · 6 年前

    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;
    

    有什么现有的框架我可以建立在这个基础上?

    0 回复  |  直到 6 年前
        1
  •  1
  •   Naveen Kumar    6 年前

    我不确定图书馆能否得到预期的输出。但是您可以使用以下代码来编写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查询。