code: def json_array_agg(on_null: JsonOnNull, item_expr) -> Expression:
      """
      Builds a JSON object string by aggregating items into an array.
  
      Item expressions can be arbitrary, including other JSON functions. If a value is `NULL`, the
      `on_null` behavior defines what to do.
  
      This function is currently not supported in `OVER` windows, unbounded session windows, or hop
      windows.
  
      Examples:
      ::
  
          >>> # '["Apple","Banana","Orange"]'
          >>> orders.select(json_array_agg(JsonOnNull.NULL, col("product")))
      """
      return _binary_op(
          "jsonArrayAgg", on_null._to_j_json_on_null(), item_expr
      )
  
imports: from typing import Union
  from pyflink import add_version_doc
  from pyflink.java_gateway import get_gateway
  from pyflink.table.expression import Expression, _get_java_expression, TimePointUnit, JsonOnNull
  from pyflink.table.types import _to_java_data_type, DataType
  from pyflink.table.udf import UserDefinedFunctionWrapper
  from pyflink.util.java_utils import to_jarray, load_java_class
label_desc: Use image node_id 56 for calling a global function with example usage: json_array_agg(on_null, item_expr) and returns: _binary_op