Class JsonPathTranslator

java.lang.Object
com.altibase.document.util.JsonPathTranslator

public class JsonPathTranslator extends Object
JSON path 표현식을 Altibase SQL의 WHERE 절 조건자(predicate)로 변환하는 기능을 제공한다.

입력된 JsonPath 표현식을 검증한 뒤, Altibase의 JSON_EXISTS 함수에 안전하게 전달할 SQL/파라미터 쌍으로 변환한다.

  • Constructor Details

    • JsonPathTranslator

      public JsonPathTranslator()
  • Method Details

    • convert

      public static JsonPathTranslator.SqlResult convert(String aFilter)
      지정된 JSONPath 필터 표현식을 Altibase SQL의 JSON_EXISTS 함수 호출 문자열로 변환한다.
         입력: "$.name == \"John\" && $.age > 30"
         반환: SQL = "JSON_EXISTS(DOCUMENT, '$.name == \"John\" && $.age > 30')"
       
      Altibase의 JSON_EXISTS는 경로 표현식에 바인딩 파라미터를 허용하지 않으므로, 허용된 문자만 포함하는 JsonPath를 검증한 뒤 SQL 리터럴로 안전하게 이스케이프하여 사용한다.
      Parameters:
      aFilter - 변환할 JSONPath 필터 표현식 문자열
      Returns:
      JSON_EXISTS 함수 호출 SQL과 바인딩 파라미터