特色
相比官方的json_value,该函数支持非标准化json,比如v是个object,但是非标准json会外套一层引号,内部有反引号.
eg: {"kkkk2": "{"kkkk1":"vvvvvvv"}" }
支持value为 100L 这种java格式的bigint. {"k":999L}
基于jsonPath 方便,可以获取多层级内部值
代码实现
import com.alibaba.fastjson2.{JSONPath, JSONReader}
import org.apache.flink.table.functions.ScalarFunction
import scala.util.Try
import org.apache.flink.configuration.{Configuration, RestOptions}
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
import org.apache.flink.table.api.Expressions.row
import org.apache.flink.table.api._
import org.apache.flink.table.api.bridge.scala.StreamTableEnvironment
object GetJsonObject {
def main(args: Array[String]): Unit = {
val conf = new Configuration
conf.setInteger(RestOptions.PORT, 38080)
val env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf)
val tEnv = Strea
版权归原作者 Thomas2143 所有, 如有侵权,请联系我们删除。