class_docstr: Namespace for string related expressions.
class_docstr_tok: ["Namespace","for","string","related","expressions","."]
docstr: Extract the first match of JSON string with the provided JSONPath expression.
  
  Throws errors if invalid JSON strings are encountered.
  All return values will be cast to :class:`String` regardless of the original
  value.
  
  Documentation on JSONPath standard can be found
  `here <https://goessner.net/articles/JsonPath/>`_.
  
  Parameters
  ----------
  json_path
      A valid JSON path query string.
  
  Returns
  -------
  Expr
      Expression of data type :class:`String`. Contains null values if original
      value is null or the json_path returns nothing.
  
  Examples
  --------
  >>> df = pl.DataFrame(
  ...     {"json_val": ['{"a":"1"}', None, '{"a":2}', '{"a":2.1}', '{"a":true}']}
  ... )
  >>> df.with_columns(matched=pl.col("json_val").str.json_path_match("$.a"))
  shape: (5, 2)
  ┌────────────┬─────────┐
  │ json_val   ┆ matched │
  │ ---        ┆ ---     │
  │ str        ┆ str     │
  ╞════════════╪═════════╡
  │ {"a":"1"}  ┆ 1       │
  │ null       ┆ null    │
  │ {"a":2}    ┆ 2       │
  │ {"a":2.1}  ┆ 2.1     │
  │ {"a":true} ┆ true    │
  └────────────┴─────────┘
docstr_tok: ["Extract","the","first","match","of","JSON","string","with","the","provided","JSONPath","expression",".","Throws","errors","if","invalid","JSON","strings","are","encountered",".","All","return","values","will","be","cast","to",":","class",":","`","String","`","regardless","of","the","original","value",".","Documentation","on","JSONPath","standard","can","be","found","`","here","<","https",":","\/\/goessner.net\/articles\/JsonPath\/",">","`","_",".","Parameters","--","--","--","--","--","json_path","A","valid","JSON","path","query","string",".","Returns","--","--","--","-","Expr","Expression","of","data","type",":","class",":","`","String","`",".","Contains","null","values","if","original","value","is","null","or","the","json_path","returns","nothing",".","Examples","--","--","--","--",">",">",">","df","=","pl.DataFrame","(","...","{","``","json_val","''",":","[","'","{","``","a","''",":","''","1","''","}","'",",","None",",","'","{","``","a","''",":2","}","'",",","'","{","``","a","''",":2.1","}","'",",","'","{","``","a","''",":","true","}","'","]","}","...",")",">",">",">","df.with_columns","(","matched=pl.col","(","``","json_val","''",")",".str.json_path_match","(","``","$",".a","''",")",")","shape",":","(","5",",","2",")","\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510","\u2502","json_val","\u2506","matched","\u2502","\u2502","--","-","\u2506","--","-","\u2502","\u2502","str","\u2506","str","\u2502","\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561","\u2502","{","``","a","''",":","''","1","''","}","\u2506","1","\u2502","\u2502","null","\u2506","null","\u2502","\u2502","{","``","a","''",":2","}","\u2506","2","\u2502","\u2502","{","``","a","''",":2.1","}","\u2506","2.1","\u2502","\u2502","{","``","a","''",":","true","}","\u2506","true","\u2502","\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"]
code: def json_path_match(self, json_path: str) -> Expr:
      """
      Extract the first match of JSON string with the provided JSONPath expression.
  
      Throws errors if invalid JSON strings are encountered.
      All return values will be cast to :class:`String` regardless of the original
      value.
  
      Documentation on JSONPath standard can be found
      `here <https://goessner.net/articles/JsonPath/>`_.
  
      Parameters
      ----------
      json_path
          A valid JSON path query string.
  
      Returns
      -------
      Expr
          Expression of data type :class:`String`. Contains null values if original
          value is null or the json_path returns nothing.
  
      Examples
      --------
      >>> df = pl.DataFrame(
      ...     {"json_val": ['{"a":"1"}', None, '{"a":2}', '{"a":2.1}', '{"a":true}']}
      ... )
      >>> df.with_columns(matched=pl.col("json_val").str.json_path_match("$.a"))
      shape: (5, 2)
      ┌────────────┬─────────┐
      │ json_val   ┆ matched │
      │ ---        ┆ ---     │
      │ str        ┆ str     │
      ╞════════════╪═════════╡
      │ {"a":"1"}  ┆ 1       │
      │ null       ┆ null    │
      │ {"a":2}    ┆ 2       │
      │ {"a":2.1}  ┆ 2.1     │
      │ {"a":true} ┆ true    │
      └────────────┴─────────┘
  
      """
      return wrap_expr(self._pyexpr.str_json_path_match(json_path))
  
imports: from __future__ import annotations
  import warnings
  from typing import TYPE_CHECKING
  import polars._reexport
  from polars import functions
  from polars.datatypes import Date, Datetime, Int32, Time, py_type_to_dtype
  from polars.exceptions import ChronoFormatWarning
  from polars.utils._parse_expr_input import parse_as_expression
  from polars.utils._wrap import wrap_expr
  from polars.utils.deprecation import deprecate_renamed_function, deprecate_renamed_parameter, rename_use_earliest_to_ambiguous
  from polars.utils.various import find_stacklevel
label_desc: Use image node_id 25 for calling the ExprStringNameSpace obj's underlying member method code with example usage: obj.json_path_match(json_path) and returns: wrap_expr