本文简要介绍 python 语言中 pyflink.table.Expression.json_query
的用法。
用法:
json_query(path: str, wrapping_behavior=<JsonQueryWrapper.WITHOUT_ARRAY:(0,)>, on_empty=<JsonQueryOnEmptyOrError.NULL:(0,)>, on_error=<JsonQueryOnEmptyOrError.NULL:(0,)>) → pyflink.table.expression.Expression
从 JSON 字符串中提取 JSON 值。
这遵循 SQL 中 JSON 支持的 ISO/IEC TR 19075-6 规范。结果始终以
STRING
的形式返回。wrapping_behavior
确定是否应将提取的值包装到数组中,以及是无条件地这样做还是仅当值本身不是数组时才这样做。on_empty
和on_error
分别确定路径表达式为空或引发错误时的行为。默认情况下,在这两种情况下都会返回null
。其他选择是使用空数组、空对象或引发错误。另请参阅::
json_value()
例子:
>>> lit('{"a":{"b":1}}').json_query('$.a') # '{"b":1}' >>> lit('[1,2]').json_query('$') # '[1,2]' >>> null_of(DataTypes.STRING()).json_query('$') # None >>> lit('{}').json_query('$', JsonQueryWrapper.CONDITIONAL_ARRAY) # '[{}]' >>> lit('[1,2]').json_query('$', JsonQueryWrapper.CONDITIONAL_ARRAY) # '[1,2]' >>> lit('[1,2]').json_query('$', JsonQueryWrapper.UNCONDITIONAL_ARRAY) # '[[1,2]]' >>> lit(1).json_query('$') # null >>> lit(1).json_query('$', JsonQueryWrapper.CONDITIONAL_ARRAY) # '[1]' >>> lit('{}').json_query('lax $.invalid', JsonQueryWrapper.WITHOUT_ARRAY, JsonQueryOnEmptyOrError.EMPTY_OBJECT, JsonQueryOnEmptyOrError.NULL) # '{}' >>> lit('{}').json_query('strict $.invalid', JsonQueryWrapper.WITHOUT_ARRAY, JsonQueryOnEmptyOrError.NULL, JsonQueryOnEmptyOrError.EMPTY_ARRAY) # '[]'
版本 1.12.0 中的新函数。
相关用法
- Python pyflink Expression.json_value用法及代码示例
- Python pyflink Expression.json_exists用法及代码示例
- Python pyflink Expression.to_date用法及代码示例
- Python pyflink Expression.end用法及代码示例
- Python pyflink Expression.over用法及代码示例
- Python pyflink Expression.to_time用法及代码示例
- Python pyflink Expression.avg用法及代码示例
- Python pyflink Expression.alias用法及代码示例
- Python pyflink Expression.sum用法及代码示例
- Python pyflink Expression.stddev_samp用法及代码示例
- Python pyflink Expression.desc用法及代码示例
- Python pyflink Expression.sum0用法及代码示例
- Python pyflink Expression.in_用法及代码示例
- Python pyflink Expression.min用法及代码示例
- Python pyflink Expression.count用法及代码示例
- Python pyflink Expression.var_samp用法及代码示例
- Python pyflink Expression.max用法及代码示例
- Python pyflink Expression.start用法及代码示例
- Python pyflink Expression.collect用法及代码示例
- Python pyflink Expression.stddev_pop用法及代码示例
- Python pyflink Expression.to_timestamp用法及代码示例
- Python pyflink Expression.distinct用法及代码示例
- Python pyflink Expression.is_json用法及代码示例
- Python pyflink Expression.var_pop用法及代码示例
- Python pyflink Expression.asc用法及代码示例
注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 pyflink.table.Expression.json_query。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。